我們正在使用的OID/LDAP查詢我們的連接配置LDAP/OID查找解決的Oracle SID。無論是TNS_ADMIN
環境變量和oracle.net.tns_admin
Java屬性都正確,點設置爲包含SQLNET.ORA和ldap.ora目錄。然而,JDBC連接URL:問題通過與瘦JDBC客戶
java.sql.SQLRecoverableException: IO Error: could not resolve the connect identifier "ourtnsalias"
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:458)
at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:546)
at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:236)
at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32)
at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:521)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:185)
at TnsTest.main(TnsTest.java:29)
Caused by: oracle.net.ns.NetException: could not resolve the connect identifier "tnsalias"
at oracle.net.resolver.NameResolver.resolveName(NameResolver.java:181)
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:416)
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:687)
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:247)
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1102)
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:320)
... 7 more
Exception in thread "main" java.lang.NullPointerException
at TnsTest.main(TnsTest.java:46)
連接字符串以下風格的成功連接:
- 全部TNS字符串:
jdbc:oracle:thin:@(DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=host.company.com)(PORT=####))(CONNECT_DATA=(SERVICE_NAME=service_name)))
- 全部LDAP嘗試連接時
jdbc:oracle:thin:@ourtnsalias
拋出異常url:
jdbc:oracle:thin:@ldap://oid.company.net:####/ourtnsname,CN=OracleContext,dc=company,dc=net
這似乎暗示着問題在於LDAP/OID查找。但是,運行tnsping ourtnsname
也連接成功。
做OID/LDAP查詢時,有沒有辦法在連接字符串中只使用一個TNS別名?
爲了完整起見,這裏是相關的Java:
String connectionURL = "jdbc:oracle:thin:@ourtnsalias";
System.setProperty("oracle.net.tns_admin", "c:/oracle/network/admin");
Class.forName("oracle.jdbc.OracleDriver");
Connection c = DriverManager.getConnection(connectionURL, userid, password);
我有完全一樣的問題 - 我們已經配置幾乎相同2臺服務器,一個正在與 - 和另外一個返回一個錯誤,甚至想過用tnsping等工作正常。 你有沒有找到解決方案? – Bittercoder