Проблема при установлении соединения DB2 в Java с неправильным именем пользователя / паролем - PullRequest
1 голос
/ 02 марта 2011

У меня проблема с установлением соединения DB2 с неверным именем пользователя / паролем.У нас есть приложение, которое работает в локальной сети во многих системах с использованием базы данных DB2, расположенной в моей системе, а также в других системах.

Сначала я использую этот URL для создания другого системного соединения DB2:

Connection con = DriverManager.getConnection("jdbc:db2://Rahulkcomputer:50000/XAN4", "rahulk", "dbirs#35");

возвращает правильный объект соединения.Теперь, когда я изменяю URL-адрес для доступа к своему системному соединению DB2 с тем же именем пользователя / паролем, что и (с использованием того же имени пользователя / пароля интенсивно делается для проверки обработки ошибок):

Connection con = DriverManager.getConnection("jdbc:db2://127.0.0.1:50000/XAN4", "rahulk", "dbirs#35");

На этот раз сновавозвращает объект Connection вместо того, чтобы выдавать SQLException, указывающее неправильное имя пользователя / пароль (из-за того, что аутентификация DB2 моей системы полностью отличается от системы Rahulkcomputer)

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

Простой запрос DB2 для проверки соединения

SELECT CURRENT SQLID FROM SYSIBM.SYSDUMMY1

(в обоих случаях возвращается "rahulk")

Почему DB2 создаласоединение во втором случае с неправильным именем пользователя / паролем (более того, когда мы закрываем все службы DB2 на Rahulkcomputer, даже тогда я получаю соединение во втором случае)?

Заранее спасибо.

1 Ответ

1 голос
/ 16 декабря 2012

Вы либо создали свою базу данных с опцией limited , либо отменили право выбора sysibm из PUBLIC. Соединение у вас было в порядке, права доступа нет. 42704 - это способ DB2 сказать "да?", Он не распознал sysibm, потому что у вас не было прав на его просмотр.

...