Специальные символы в паролях DB2 при подключении из Java? - PullRequest
0 голосов
/ 07 ноября 2011

У меня есть простое приложение Java, которое внезапно перестало подключаться к локальной базе данных DB2, сославшись на неверный пароль в качестве причины.База данных аутентифицируется с учетными данными пользователя Windows.Я использовал пароль, который содержал точку с запятой и несколько скобок, и когда я изменил его на что-то более простое, приложение смогло подключиться снова.

Мой вопрос: есть ли способ, которым эти символы впароль мог вызвать ошибку входа в систему?

Исключением было: COM.ibm.db2.jdbc.DB2Exception: [IBM][CLI Driver] SQL30082N Security processing failed with reason "24" ("USERNAME AND/OR PASSWORD INVALID"). SQLSTATE=08001

И код подключения выглядит так:

String username = "username";
String password = "pass;w(ord)";
Class.forName("COM.ibm.db2.jdbc.app.DB2Driver");
db2Connection = DriverManager.getConnection("jdbc:db2:DBNAME", username, password);

Ответы [ 2 ]

1 голос
/ 07 ноября 2011

Если пароль DB2 содержит специальные символы, его необходимо заключить в строку подключения.

Попробуйте изменить переменную password на:

String password = "\"pass;w(word)\"";
0 голосов
/ 07 ноября 2011

Попробуйте подключиться к базе данных через командное окно, чтобы убедиться, что все в порядке:

c:\>db2 connect to dbname user username using pass;w(ord)

или в командной строке db2

db2> connect to dbname user username using pass;w(ord)

Возможно соединениеметод, учетные данные или правила брандмауэра изменились,

Как только вы сможете получить доступ к базе данных, указав правильные учетные данные, вы можете проверить проблему в Java.

За один шаг до попыткиJava для подключения из DataStudio .Это Java-приложение, поэтому вы можете проверить, возможно ли подключиться к вашей базе данных из Java.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...