DefaultDataSource.getConnection(идентификатор пользователя, пароль) Ошибка

Я работаю над проектом миграции с WAS 6.1 на WAS 8.5.5 (также перенося JDK 1.5 на 1.7) и сталкиваюсь с проблемой подключения к базе данных при переключении проекта на WAS 8.5.5.

connection = defaultDataSource.getConnection(userID, password); Failing
java.sql.SQLException: ORA-01017: invalid username/password; logon denied DSRA0010E: SQL State = 72000, Error Code = 1,017

DataSource get Connection (идентификатор пользователя, пароль) - соединение становится правильным, когда мы передаем идентификатор пользователя и пароль для подключения к БД (которые мы использовали в JAAS - данные аутентификации J2C на сервере). Но терпит неудачу, когда мы передаем идентификатор пользователя и пароль портала. Тот же код работает на WAS 6.1 без каких-либо исключений.

Правильное подключение к DataSource. Метод getConnection() в WAS 8.5.5 Тот же код работает в другой среде, но в этом случае, когда я вызываю getConnection(userID, password), я получаю исключение. Источник данных WAS имеет правильный набор псевдонимов аутентификации, и когда соединение проверено, оно работает нормально со стороны WAS.

Я использовал OJDBC6.jar (odbc4.1, который поддерживает WAS 8.5.5), но это приложение ссылается на объект DataSource из rt.jar JRE lib.

Не могли бы вы помочь мне решить эту проблему?


person DevD    schedule 10.11.2014    source источник


Ответы (1)


Какова область действия источника данных? Если возможно, не могли бы вы прикрепить или предоставить файл security.xml и resources.xml из области источника данных. Похоже, это проблема синхронизации между файлом security.xml и информацией, представленной в консоли администратора.

Обратите внимание, что тестовое соединение может давать разные результаты в зависимости от области действия источника данных.

JVM области источника данных, где происходит операция тестового подключения Cell процесс менеджера узел процесс агента узла (соответствующего узла) кластер strong> Агент узла для каждого узла, содержащего элемент кластера Сервер Сервер; если сервер недоступен, операция тестового соединения повторяется в агенте узла для узла, содержащего сервер приложений.

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

Источник: Центр знаний

Для решения я бы предложил остановить JVM и выполнить синхронизацию вручную с помощью команды syncNode.

person Hobert Bush III    schedule 30.04.2015