我在64位Linux上安装了64位Weblogic 11g,并尝试通过在32位上为Oracle 10g创建JDBC数据源来连接到数据库。我已成功将另一个Weblogic 32位连接到此数据库实例。
然而,对于64位Weblogic,我得到了异常
Connection test failed.
ORA-01017: invalid username/password; logon denied
oracle.jdbc.driver.SQLStateMapping.newSQLException(SQLStateMapping.java:70)
oracle.jdbc.driver.DatabaseError.newSQLException(DatabaseError.java:133)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:206)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:455)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:406)
oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:399)
oracle.jdbc.driver.T4CTTIoauthenticate.receiveOauth(T4CTTIoauthenticate.java:799)
oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:368)
oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:508)
oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:2
我想知道它还需要64位Oracle数据库吗?我的用户名和密码是正确的。
答案 0 :(得分:2)
意识到这是相当古老的,但是等等......
如果客户端和服务器是不同的版本,它应该没有任何区别。你正在建立联系,否则你会看到比ORA-01017更致命的东西。我想知道JDBC配置是否是从32位WebLogic实例复制的,并且您假设因为它在那里工作,所以不需要更改配置。如果是这种情况,加密密码将是错误的;加密密钥链接到安装,因此您不能只是复制文件而不更新它。尝试使用您认为应该使用的值运行java weblogic.security.Encrypt <password>
,并查看它是否与存储在配置文件中的3DES值匹配。
答案 1 :(得分:1)
不,数据库不需要是64位。正如@Alex提到的,您正在成功地与数据库通信,这只是一个凭据问题。您是否可以尝试更新连接池的用户和密码(特别是如果您将domain\config\jdbc
下的文件从一个域复制到另一个域)?
答案 2 :(得分:1)
这是当您尝试访问的用户未在Oracle中成功通过身份验证时引发的Oracle错误。尝试重设您要尝试的用户名和密码,或使用其他连接良好的用户,然后尝试尝试。
答案 3 :(得分:0)
您是否在Weblogic应用程序服务器以及64位Oracle客户端上安装并运行了64位版本的Java?