的Class.forName(com.ibm.db2.jcc.DB2Driver)在Liberty8.5不工作

问题描述 投票:0回答:1

我想配置这是目前在WebSphere 8.0运行在WebSphere自由的应用程序。这个应用程序是有创建使用JDBC连接:

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

这是WebSphere完整的个人资料完美的工作。但不是在自由。我试图创建一个库指向“C:/ SQLLIB / JAVA”,其中包含了db2java.zip目录。但它仍然没有工作。我得到的错误是:

[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] 

请帮忙。

提前致谢,

java jdbc classnotfoundexception websphere-liberty dbconnection
1个回答
0
投票

您指向错误的档案,一个是老司机。你需要在server.xml中定义它是这样的:

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

我也建议使用DataSource,而不是驱动程序:

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

如果需要司机看到bkail post explaining how to add classloader。简而言之:

[..]你将需要添加一个

<classloader commonLibraryRef="DB2JCC4Lib" />

在server.xml中的<application>

© www.soinside.com 2019 - 2024. All rights reserved.