WebSphere to Oracle - не принимает правильный пароль - PullRequest
8 голосов
/ 22 сентября 2010

В WebSphere 6.1 я создал источник данных для экземпляра Oracle 11g с помощью тонкого клиента JDBC.

В Oracle у меня есть два пользователя, один из которых существует, а другой недавно создан.

Моя веб-сфераИсточник данных в порядке, если я использую псевдоним аутентификации, управляемый компонентом, существующего пользователя, но происходит сбой с сообщением «неверный пользователь / пароль», если я использую псевдоним нового пользователя.Сообщение об ошибке:

The test connection operation failed for data source MyDB (Non-XA) on 
server nodeagent at node MY_node with the following exception: 
java.sql.SQLException: ORA-01017: invalid username/password; 
logon denied DSRA0010E: SQL State = 72000, Error Code = 1,017. 
View JVM logs for further details.

В журналах JVM ничего нет.Я очистил все журналы websphere, и они вообще не упоминают мое соединение.

Я могу подтвердить, что имя пользователя и пароль верны, войдя в систему через SQLPlus или (чтобы убедиться, что соединение JDBC в порядке) через SQuirreL.

Я проверил в Oracle, что у нового пользователя есть все системные привилегии, которые есть у существующего пользователя.

Есть какие-нибудь мысли о том, что происходит или как я могу отладить это дальше?

Ответы [ 6 ]

28 голосов
/ 01 октября 2010

Просто к вашему сведению.Я предполагаю, что вы работаете с WebSphere в режиме сетевого развертывания.Такое поведение на самом деле является умышленным.

Причина этого в том, что кнопка «Проверить соединение», которую вы видите на консоли администратора, вызывает тест соединения JDBC из процесса .Узел Агент .Информация о псевдониме J2C не может распространяться на агент узла без перезапуска;некоторые объекты конфигурации вступают в силу в WebSphere, как только вы сохраняете конфигурацию в главном репозитории, а некоторые вступают в силу только при перезапуске.Псевдонимы J2C вступают в силу при перезапусках.

В топологии сетевого развертывания может быть любое количество экземпляров сервера, управляемых одним и тем же агентом узла.Вы можете перезапустить экземпляры вашего сервера так, как вам хочется, но до тех пор, пока вы не перезапустите сам агент узла, кнопка «тестовое соединение» никогда не будет работать.

Это известное ограничение WebSphere ... которое также существует в версии7.0, так что не удивляйтесь, когда будете тестировать его во время следующей миграции.: -)

3 голосов
/ 22 сентября 2010

Если это случится с кем-то еще, я перезапустил WebSphere, и все мои проблемы исчезли. Это настоящий признак качества программного обеспечения.

1 голос
/ 27 сентября 2015

Центр знаний IBM WAS 8.5.5 -
Управление записями данных аутентификации для архитектуры Java 2 Connector для JAAS

Если вы создаете или обновляете источник данных, который указывает на вновь созданныйПсевдоним данных аутентификации J2C, тестовое соединение не может установить соединение, пока вы не перезапустите диспетчер развертывания .

После перезапуска менеджера развертывания данные аутентификации J2C отражаются в конфигурации времени выполнения.Любые изменения в полях данных аутентификации J2C требуют перезапуска диспетчера развертывания, чтобы изменения вступили в силу.

Агент узла также должен быть перезапущен .

1 голос
/ 18 января 2013

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

1 голос
/ 24 сентября 2010

Часто, когда люди говорят мне, что они не могут войти в Oracle 11g с правильным паролем, я знаю, что они были обнаружены паролями, чувствительными к регистру между 10g и 11g.

0 голосов
/ 20 августа 2013

У меня есть источник данных для аутентификации на основе компонентов, а также аутентификации на основе контейнеров. Теперь все работает нормально ........

...