1

我在 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 数据库?我的用户名和密码是正确的。

4

4 回答 4

2

意识到这是相当古老的,但坐...

如果客户端和服务器是不同的版本,它不应该有任何区别。你正在建立一个连接,否则你会看到比 ORA-01017 更致命的东西。我想知道 JDBC 配置是否是从 32 位 WebLogic 实例复制的,并且您假设因为它在那里工作,所以不需要更改配置。如果是这样,加密的密码就会出错;加密密钥与安装相关联,因此您不能只复制文件而不更新它。尝试java weblogic.security.Encrypt <password>使用您认为应该使用的值运行,并查看它是否与存储在配置文件中的 3DES 值匹配。

于 2010-02-10T21:59:44.960 回答
1

不,数据库不需要是 64 位的。正如@Alex 提到的,您正在成功地与数据库交谈,这只是一个凭据问题。您可以尝试更新连接池的用户名和密码(特别是如果您将文件domain\config\jdbc从一个域复制到另一个域)?

于 2010-02-10T22:23:59.290 回答
1

这是当您尝试访问的用户未在 Oracle 中成功通过身份验证时引发的 Oracle 错误。尝试重置您正在尝试的用户和密码,或使用连接正常的其他用户并尝试。

于 2018-11-22T10:22:33.210 回答
0

您是否在 Weblogic 应用服务器以及 64 位 Oracle 客户端上安装并运行了 64 位版本的 Java?

于 2009-12-31T07:58:11.427 回答