oracle - WebSphere 到 Oracle - 不接受正确的密码

标签 oracle jdbc websphere ora-01017

在 WebSphere 6.1 中,我使用瘦 JDBC 客户端创建了 Oracle 11g 实例的数据源。

在 Oracle 中,我有两个用户,一个是现有用户,另一个是新创建的。

如果我使用现有用户的组件管理身份验证别名,我的 websphere 数据源正常,但如果我使用新用户的别名,则会失败并显示“无效的用户/密码”消息。错误信息是:

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 日志中没有任何内容。我已经 grep 了所有 websphere 日志,但它们根本没有提及我的连接。

我可以通过 SQLPlus 登录或通过 SQuirreL 登录(以证明 JDBC 连接正常)来确认用户名和密码是否正确。

我已经在 Oracle 中检查过,新用户拥有现有用户拥有的所有系统权限。

对正在发生的事情或如何进一步调试有什么想法吗?

最佳答案

仅供引用。我猜您正在网络部署模式下运行 WebSphere。 您遇到的这种行为实际上是设计使然。

原因是您在管理控制台上看到的“测试连接”按钮从节点代理进程内调用 JDBC 连接测试。如果不重新启动节点代理,则无法将 J2C 别名信息传播到节点代理;有些配置对象在将配置保存到主存储库后立即在 WebSphere 中生效,有些配置对象仅在重新启动时生效。 J2C 别名在重新启动后生效。

在网络部署拓扑中,您​​可以拥有由同一节点代理控制的任意数量的服务器实例。您可以根据需要重新启动服务器实例,但除非重新启动节点代理本身,否则“测试连接”按钮将永远不会起作用。

这是一个已知的 WebSphere 限制...版本 7.0 中也存在该限制,因此当您在下次迁移期间测试它时,请不要感到惊讶。 :-)

关于oracle - WebSphere 到 Oracle - 不接受正确的密码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3765568/

相关文章:

oracle - Oracle 10g 中 'ddl_lock_timeout' 的替代方案

sql - "no matching unique or primary key for this column-list"。主键确实存在

java - PostgreSQL 函数的 Spring Batch ItemWriter 错误

java - 如何使用内存数据库编写测试用例?

java - 使用外部 jar 。找不到适用于 jdbc :sqlserver 的合适驱动程序

java - Mysql JDBC异常: Unable to create or access database connection in JSP

apache - 反向代理和 getServerPort() 背后的 WebSphere Portal

java - 具有用户特定功能的 JSF Web 应用程序

java - Websphere 8.5.5.7 与 Java7 : existing profiles are not starting

html - Oracle 到 Excel - PL/SQL 导出程序