Java 为什么DB2Type4JDBC驱动程序在寻找本机库db2jcct2?
我认为Type4JDBC驱动程序是纯Java的,不需要本机库 当我将db2jcc4.jar放入打包为.war文件的Tomcat应用程序的WEB-INF/lib目录中时,我在尝试使用该应用程序时遇到以下错误:Java 为什么DB2Type4JDBC驱动程序在寻找本机库db2jcct2?,java,jdbc,db2,Java,Jdbc,Db2,我认为Type4JDBC驱动程序是纯Java的,不需要本机库 当我将db2jcc4.jar放入打包为.war文件的Tomcat应用程序的WEB-INF/lib目录中时,我在尝试使用该应用程序时遇到以下错误:get-SQLException:com.ibm.db2.jcc.am.SQLException:[jcc][10389][12245][4.12.55]加载本机库db2jcct2、java.lang.unsatifiedlinkerror失败 相关应用程序代码如下所示,由于清单中的最后一行,
get-SQLException:com.ibm.db2.jcc.am.SQLException:[jcc][10389][12245][4.12.55]加载本机库db2jcct2、java.lang.unsatifiedlinkerror失败
相关应用程序代码如下所示,由于清单中的最后一行,引发了异常:
import com.ibm.db2.jcc.DB2SimpleDataSource;
// ...
DB2SimpleDataSource main_db2_data_source = new DB2SimpleDataSource();
main_db2_data_source.setUser(main_database_user);
main_db2_data_source.setPassword(main_database_password);
main_db2_data_source.setServerName(main_database_host);
try {
Integer main_database_port_integer = Integer.parseInt(main_database_port);
main_db2_data_source.setPortNumber(main_database_port_integer);
} catch (NumberFormatException exception) {
throw new WebException("...");
}
Connection main_connection = null;
try {
main_connection = main_db2_data_source.getConnection();
我怀疑问题在于您没有告诉它使用类型4驱动程序——我相信,同一个jar文件同时包含类型4和类型2驱动程序 尝试:
db2驱动程序需要另一个包含许可证的jar
此许可证控制连接类型。如果要使用“DB2Connect”作为i系列连接到大型机,则应使用相应的许可证。如果您要连接到Linux UNIX或Windows服务器,那么当您获得“许可证时,许可证就会包括在内。最近,当我从Glassfish服务器连接到DB2时,我遇到了这个问题。为此,我遵循了以下步骤并解决了此问题。 请检查以下步骤 步骤1)我已经检查了Domain.xml文件中的DB2详细信息 用户名、pwd、数据库名、服务器名、端口号,但我没有看到DriverType。 表示驾驶员类型为2或4 2) 为了添加驱动程序类型,我已登录到Glassfish服务器管理控制台 资源-->JDBC-->连接池-->我们的池名--。添加额外属性 在这里,我添加了drivertype为4 于是我的问题就解决了 谢谢, 拉迈亚·皮拉拉。也可以试试这个:
Goto Configure Build Path --> Libraries
--> JRE System Libraries
--> Native Library Location : Set this to %DB2HOME%/BIN
(which is where db2jcct2.dll is saved)
谢谢,这不是问题所在,因为我没有连接到大型机,但在将来的某个时候,我需要连接,你的建议会很有用。
Goto Configure Build Path --> Libraries
--> JRE System Libraries
--> Native Library Location : Set this to %DB2HOME%/BIN
(which is where db2jcct2.dll is saved)