我认为Type 4 JDBC驱动程序是纯Java,不需要本机库。
当我将db2jcc4.jar放入打包为.war文件的Tomcat应用程序的WEB-INF / lib目录中时,在尝试使用该应用程序时出现以下错误:Got SQLException: com.ibm.db2.jcc.am.SqlException: [jcc][10389][12245][4.12.55] Failure in loading native library db2jcct2, java.lang.UnsatisfiedLinkError
相关的应用程序代码如下,由于列表中的最后一行引发了异常:
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();
答案 0 :(得分:16)
我怀疑问题是你没有告诉它使用类型4驱动程序 - 我相信同一个jar文件包含类型4和类型2驱动程序。
尝试:
main_db2_data_source.setDriverType(4);
答案 1 :(得分:2)
db2驱动程序需要另一个包含许可证的jar。
此许可证控制连接类型。如果您打算使用" db2 connect"要作为i系列连接到大型机,您应该使用相应的许可证。如果要连接到Linux UNIX或Windows服务器,则在获得" Data server client for JDBC"
时会包含许可证。答案 2 :(得分:1)
也试试这个:
Goto Configure Build Path --> Libraries
--> JRE System Libraries
--> Native Library Location : Set this to %DB2HOME%/BIN
(which is where db2jcct2.dll is saved)
答案 3 :(得分:0)
最近,当我从Glassfish服务器连接到DB2时,我遇到了这个问题。为此我已按照以下步骤解决了这个问题。 请检查以下步骤
step1)我已检查过Domain.xml文件中的DB2详细信息。我只看到过 username,pwd,databaseName,serverName,portnumber,但我还没看到DriverType。 手段类型为2或4。
2)添加已登录Glassfish服务器管理控制台的驱动程序类型
资源 - > JDBC - >连接池 - >我们的poolname - 。添加额外属性
这里我添加了drivertype是4。
因此我的问题已经解决了
谢谢, Ramaiah Pillala。