能够连接到 DB2 数据库,使用以下用蓝图编写的数据源。
<!-- DB2 Configuration -->
<bean id="dataSource" class="com.ibm.db2.jcc.DB2DataSource">
<property name="serverName" value="${db.connection.serverName}" />
<property name="databaseName" value="${db.connection.databaseName}" />
<property name="portNumber" value="${db.connection.port}" />
<property name="user" value="${db.connection.user}" />
<property name="password" value="${db.connection.password}" />
<property name="driverType" value="4" />
</bean>
<!-- This dataSource service is exposed by this bundle. -->
<!-- It can be accessed by any bundle deployed in the same container -->
<!-- Hence no need to do external database configuration AGAIN -->
<service ref="dataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/databaseds" />
<entry key="datasource.name" value="DatabaseDS" />
</service-properties>
</service>
我正在尝试使用以下数据源 bean 连接到 AS400 db
<!-- DB2 Configuration -->
<bean id="as400DataSource" class="com.ibm.as400.access.AS400JDBCDriver">
<property name="serverName" value="${db.connection.serverName}" />
<property name="user" value="${as400db.connection.user}" />
<property name="password" value="${as400db.connection.password}" />
</bean>
<!-- This dataSource service is exposed by this bundle. -->
<!-- It can be accessed by any bundle deployed in the same container -->
<!-- Hence no need to do external database configuration AGAIN -->
<service ref="as400DataSource" interface="javax.sql.DataSource">
<service-properties>
<entry key="osgi.jndi.service.name" value="jdbc/databaseds" />
<entry key="datasource.name" value="DatabaseDS" />
</service-properties>
</service>
下面是在我的项目 pom.xml 中为 AS400 连接添加的依赖项
<dependency>
<groupId>net.sf.jt400</groupId>
<artifactId>jt400</artifactId>
<version>6.7</version>
</dependency>
当我在 servicemix 中部署时,它会抛出以下错误。
Unable to resolve 249.0: missing requirement [249.0] osgi
.wiring.package; (osgi.wiring.package=com.ibm.as400))
尝试使用以下命令安装 jt400。
install -s wrap:mvn:net.sf.jt400/jt400/6.7
这是抛出以下异常
java.lang.ArrayIndexOutOfBoundsException: 33806
at aQute.bnd.osgi.Clazz.classConstRef(Clazz.java:1862)
at aQute.bnd.osgi.Clazz.crawl(Clazz.java:1174)
at aQute.bnd.osgi.Clazz.doCode(Clazz.java:1134)
at aQute.bnd.osgi.Clazz.doAttribute(Clazz.java:945)
at aQute.bnd.osgi.Clazz.doAttributes(Clazz.java:910)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:741)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:494)
at aQute.bnd.osgi.Clazz.parseClassFileWithCollector(Clazz.java:483)
at aQute.bnd.osgi.Clazz.parseClassFile(Clazz.java:473)
at aQute.bnd.osgi.Analyzer.analyzeJar(Analyzer.java:2177)
at aQute.bnd.osgi.Analyzer.analyzeBundleClasspath(Analyzer.java:2083)
at aQute.bnd.osgi.Analyzer.analyze(Analyzer.java:138)
at aQute.bnd.osgi.Analyzer.calcManifest(Analyzer.java:616)
at org.ops4j.pax.swissbox.bnd.BndUtils.createBundle(BndUtils.java:161)
at org.ops4j.pax.url.wrap.internal.Connection.getInputStream(Connection.
java:83)
有没有其他方法可以使用数据源技术连接到 AS400 i DB?
提前致谢..