WebSphere to Oracle - не принимает правильный пароль

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

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

мой websphere datasource в порядке, если я использую псевдоним аутентификации существующего пользователя, управляемый компонентом, но не удается с сообщением "недопустимый пользователь/пароль", если я использую псевдоним нового пользователя. Сообщение об ошибке:

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 ничего нет. Я grepped все журналы websphere, и они вообще не упоминают о моем соединении.

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

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

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

6 ответов


просто FYI. Я предполагаю, что вы используете WebSphere в режиме сетевого развертывания. Это поведение, которое вы испытываете, на самом деле преднамеренно.

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

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

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


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


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


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


IBM был 8.5.5 Центр Знаний -
управление данными аутентификации архитектуры соединителя Java 2 для JAAS

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

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

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


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