0

我正在尝试将当前在 websphere 8.0 中运行的应用程序配置为 websphere liberty。此应用程序正在使用以下命令创建 jdbc 连接:

Driver DB2Driver = (java.sql.Driver) Class.forName("com.ibm.db2.jcc.DB2Driver").newInstance();

这在 websphere 完整配置文件中完美运行。但不自由。我尝试创建一个库以指向包含 db2java.zip 的“C:/sqllib/java”目录。但它仍然无法正常工作。我得到的错误是:

[err] java.lang.ClassNotFoundException: com.ibm.db2.jcc.DB2Driver
[err]     at com.ibm.ws.classloading.internal.AppClassLoader.findClassCommonLibraryClassLoaders(AppClassLoader.java:403)
[err]     at [internal classes] 

请帮忙。

提前致谢,

4

1 回答 1

0

您指向错误的存档,该存档带有旧驱动程序。您需要在 server.xml 中像这样定义它:

<library id="DB2JCC4Lib">
    <fileset dir="C:/sqllib/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
</library>

我还建议使用 dataSource 而不是 Driver:

<dataSource id="db2" jndiName="jdbc/db2">
    <jdbcDriver libraryRef="DB2JCC4Lib"/>
    <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
</dataSource>

如果您需要驱动程序,请参阅解释如何添加类加载器的 bkail 帖子。简而言之:

[..] 你需要添加一个

<classloader commonLibraryRef="DB2JCC4Lib" />

到您<application>的 server.xml 中。

于 2014-08-22T19:00:14.623 回答