我正在开发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(userID,password) - 当我们传递数据库连接用户ID和密码(我们在JAAS中使用 - 服务器上的J2C身份验证数据)时,连接正常。 但是当我们传递门户用户ID和密码时失败了。 相同的代码正在使用WAS 6.1,没有任何例外。
与DataSource正确连接。 WAS 8.5.5上的getConnection()方法 相同的代码在不同的环境中工作,但在这种情况下,当我调用getConnection(userID,password)时,我得到一个异常。数据源是WAS具有正确的认证别名集,并且当测试连接时,它可以从WAS端正常工作
我使用过OJDBC6.jar(支持WAS 8.5.5的odbc4.1),但它的应用程序引用了JRE lib的rt.jar中的DataSource对象。
你能指导我解决这个问题吗?
答案 0 :(得分:0)
数据源的范围是什么?如果可能,您是否可以附加或提供数据源范围内的security.xml文件和resources.xml。听起来他们是security.xml与管理控制台中显示的信息之间的同步问题。
请注意,测试连接可能会提供不同的结果,具体取决于数据源的范围。
发生测试连接操作的数据源范围JVM Cell 经理流程 节点节点代理进程(相关节点) 群集包含群集成员的每个节点的节点代理 服务器服务器;如果服务器不可用,则在包含应用程序服务器的节点的节点代理程序中重试测试连接操作。
如果您有一个集群范围的数据源,那么测试连接实际上是在节点代理程序上执行的。因此,可能在您的情况下,服务器级别的故障不会被测试。
为了解决问题,我建议使用syncNode命令停止JVM并执行手动同步。