2015-12-03 28 views
0

我想用apache骆驼访问MS SQL数据库。我与Maven构建它为束并且在Apache karaf.To部署它做到这一点我在我的blueprint.xml以下阿帕奇骆驼蓝图在karaf上的MS SQL数据源

<bean id="dataSource" class="net.sourceforge.jtds.jdbcx.JtdsDataSource"> 
    <property name="url" value="" /> 
    <property name="user" value="paygate" /> 
    <property name="password" value="" /> 
</bean> 

<service interface="javax.sql.DataSource" ref="dataSource"> 
    <service-properties> 
     <entry key="osgi.jndi.service.name" value="jdbc/mssqlDatasource" /> 
    </service-properties> 
</service> 

但现在我得到我的karaf日志以下

missing requirement [1374.6] osgi.wiring.package; (osgi.wiring.package=net.sourceforge.jtds.jdbcx) 

这是使用'jdbc:create'在karaf中创建数据源时生成的类。

为什么karaf找不到那个类?

+2

您是否尝试过使用以下命令安装jtds jar:install -s wrap:mvn:net.sourceforge.jtds /jtds/1.3.0,更改版本号以匹配您的jar – Ashoka

+0

不,吨 - 但它的工作感谢:) – Milla

+0

@AshokNanda不,我没有 - 但它的工作?它是否工作? – Namphibian

回答

1

安装JTDS罐子成捆,使用命令:

install -s wrap:mvn: net.sourceforge.jtds /jtds/1.3.0 

更改版本号,以配合您的jar的版本,这将解决这个问题。

0

这是MSSQL数据源,

<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource"> 
    <property name="driverClassName" value="net.sourceforge.jtds.jdbc.Driver"/> 
    <property name="url" value="jdbc:jtds:sqlserver://localhost:1433;databaseName=testdb"/> 
    <property name="username" value="sa"/> 
    <property name="password" value="root"/> 
</bean> 

那么你应该安装在karaf容器DBCP和JTDS依赖。它工作正常。