我一直在为我的数据库计算机 (Oracle 11g) 使用 Oracle 云 PAAS Linux 服务器,并拥有可以运行所有 Java 应用程序的 Linux 应用程序服务器。
假设我有基于 Spring 的 Web 应用程序,可以连接云数据库机器。我尝试访问 Toad for oracle 中的架构,它按预期工作,但是当我尝试访问数据库以从应用程序检索数据时,它会出现以下错误。
java.sql.SQLException: Io exception: Oracle Error ORA-12650
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:255)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:387)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:420)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:165)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:35)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:801)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:154)
at GetConnection.main(GetConnection.java:35)
我还尝试将服务访问从 SID 扩展到数据库计算机中的服务名称。仍然给出同样的错误。相同的代码在我们设置的另一台云计算机上运行良好。但是这个云机是oracle团队做的,大部分东西都是默认的。
请分享您解决此问题的建议。
此问题是由于 Oracle DB 机器加密造成的ENCRYPTION_SERVER设置。据我了解,哪个是默认值并将其设置为启用,当我们将其设置为disabled或注释该行,然后应用程序将按预期工作。以下是供参考的文件名,
Filename : sqlnet.ora (We have to disable ENCRYPTION_SERVER settings)
File Location : ../oracle/product/11.2.0/dbhome_1/network/admin
希望这对某人有所帮助。!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)