Я пытаюсь подключить базу данных DB2 с помощью Java, ниже водитель и строки соединения деталей я даю,Исключения при подключении к источнику DB2 с помощью драйвера Java JDBC
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)
Я пытался отличаться лор механизм безопасности, но до сих пор я получаю то же error.the ниже вариантов я попытался для механизма безопасности,
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 версии для разработки кода
Пожалуйста, руководство о том, что необходимо выполнить для успешного соединения.
Заранее спасибо.
привет, спасибо за ответ. я не могу добавить поставщика в файл безопасности, поэтому я скопировал файл и вставлял его в другое место и добавлял поставщика в файл безопасности, чем я добавил ниже код кода в своем старом коде, импорт org.bouncycastle.jce.provider.BouncyCastleProvider; ..... Security.addProvider (новый org.bouncycastle.jce.provider.BouncyCastleProvider()); –
И мы добавили местоположение файла безопасности в аргументы VM в eclipse. -Djava.security.policy = \ java.security теперь я получил ту же ошибку, поэтому я зашифровать свой пароль, используя приведенный ниже код, а затем я поставил этот пароль в источник данных. На этот раз также я получил ту же ошибку. "com.ibm.db2.jcc.a.SqlException: java.security.InvalidAlgorithmParameterException улавливается при инициализации EncryptionManager 'Основной размер должен быть кратным 64 и может варьироваться от 512 до 1024 (включительно)'" –
final String AES_ALGORITHM = "AES/CTR/NoPadding"; final String PROVIDER = BouncyCastleProvider.PROVIDER_NAME; конечный байт [] AES_KEY_128 = {// Жесткий код 78, -90, 42, 70, -5, 20, -114, 103, -99, -25, 76, 95, -85, 94, 57, 54}; конечный байт [] IV = {// Жесткий код на данный момент -85, -67, -5, 88, 28, 49, 49, 85, 114, 83, -40, 119, -65, 91, 76 , 108}; final SecretKeySpec secretKeySpec = новый SecretKeySpec (AES_KEY_128, "AES"); final IvParameterSpec ivSpec = новый IvParameterSpec (IV); –