如何使用IBM DB2的JNDI DataSource配置WebSphere Liberty?

时间:2017-07-11 02:03:09

标签: java-ee jndi websphere-liberty

我正在尝试使用可以使用JNDI注入的DataSource资源配置WebSphere Liberty 17.0.0.2。无论我做什么,我最终都会遇到以下错误:

  

com.ibm.wsspi.injectionengine.InjectionException:CWNEN0030E:服务器无法获取java:comp / env / jdbc / db2引用的对象实例。异常消息是:CWNEN1006E:服务器无法使用javax.sql.DataSource类型获取jdbc / db2绑定的对象。异常消息是:java.sql.SQLNonTransientException:DSRA4000E:使用库jdbc-library未找到jdbcDriver dataSource [db2] / jdbcDriver [default-0]的有效JDBC驱动程序实现类。 [d:\库\ jtopen_9_3 \ lib中\存在jt400.jar]

Java代码:

@Resource(name = "jdbc/db2")
private DataSource dataSource;

配置(server.xml):

<library id="jdbc-library">
    <fileset dir="d:/libraries/jtopen_9_3/lib" includes="jt400.jar" />
</library>
<dataSource id="db2" jndiName="jdbc/db2">
<jdbcDriver libraryRef="jdbc-library" />
    <properties.db2.jcc serverName="..." user="..." password="..." />
</dataSource>

我不知道为什么它找不到com.ibm.as400.access.AS400JDBCDrivercom.ibm.as400.access.AS400JDBCDataSource,因为它们都可以在jt400.jar存档中找到。我错过了什么?

1 个答案:

答案 0 :(得分:2)

由于您使用的是IBM i Toolbox JDBC驱动程序而不是DB2 Universal JDBC驱动程序,因此请尝试将True更改为False