我正在尝试使用 java 连接 DB2 数据库,在我提供的驱动程序和连接字符串详细信息下方,
Class.forName("com.ibm.db2.jcc.DB2Driver");
DB2DataSource db2ds = new DB2DataSource();
db2ds.setServerName("servername");
db2ds.setPortNumber(portnumber);
db2ds.setDatabaseName(databasename);
db2ds.setUser(username);
db2ds.setPassword(password);
db2ds.setSecurityMechanism(DB2BaseDataSource.ENCRYPTED_USER_AND_DATA_SECURITY);
db2ds.setDriverType(4);
sourceConnection=db2ds.getConnection();
对于这个连接,我添加了以下罐子
1)db2jcc.jar
2)db2jcc_license_cu.jar
但我收到以下错误,
com.ibm.db2.jcc.a.SqlException: java.security.InvalidAlgorithmParameterException is caught when initializing EncryptionManager 'Prime size must be multiple of 64, and can only range from 512 to 1024 (inclusive)'
at com.ibm.db2.jcc.a.x.<init>(x.java:89)
at com.ibm.db2.jcc.b.b.lc(b.java:2353)
at com.ibm.db2.jcc.b.b.A(b.java:1190)
at com.ibm.db2.jcc.b.b.b(b.java:759)
at com.ibm.db2.jcc.b.b.a(b.java:725)
at com.ibm.db2.jcc.b.b.a(b.java:430)
at com.ibm.db2.jcc.b.b.<init>(b.java:374)
at com.ibm.db2.jcc.DB2DataSource.getSimpleConnection(DB2DataSource.java:87)
at com.ibm.db2.jcc.DB2DataSource.getConnection(DB2DataSource.java:65)
at com.ibm.db2.jcc.DB2DataSource.getConnection(DB2DataSource.java:47)
at TestDB2.main(TestDB2.java:73)
我尝试了不同的安全机制,但仍然遇到相同的错误。我为安全机制尝试的以下选项,
1) ENCRYPTED_USER_AND_DATA_SECURITY
2) CLEAR_TEXT_PASSWORD_SECURITY
3) ENCRYPTED_PASSWORD_SECURITY
4) ENCRYPTED_USER_AND_PASSWORD_SECURITY
5)ENCRYPTED_USER_PASSWORD_AND_DATA_SECURITY
我正在使用 JDK 1.6.0 版本来开发代码
请指导成功连接需要做什么。
提前致谢。