#java #passwords #db2
#java #пароли #db2
Вопрос:
У меня есть простое 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);
Ответ №1:
Если пароль DB2 содержит специальные символы, он должен быть заключен в кавычки в строке подключения.
Попробуйте изменить свою password
переменную на:
String password = ""pass;w(word)"";
Ответ №2:
Попробуйте подключиться к базе данных через командное окно, чтобы убедиться, что все в порядке:
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.