我们的一位客户正在尝试使用以下JDBC URL连接到Oracle数据库:jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)LOAD_BALANCE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=server1.domain.com)(PORT=1521))(ADDRES...
我们的一位客户正在尝试使用以下JDBC URL连接到Oracle数据库:
jdbc:oracle:thin:@(DESCRIPTION=(FAILOVER=ON)LOAD_BALANCE=OFF)(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=server1.domain.com)(PORT=1521))(ADDRESS=(PROTOCOL=TCP)(HOST=server2.domain.com)(PORT=1521)))(CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=FOO)))
他们得到这个错误:
Caused by: oracle.net.ns.NetException: NL Exception was generated
at oracle.net.resolver.AddrResolution.resolveAddrTree(AddrResolution.java:614) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
at oracle.net.resolver.AddrResolution.resolveAndExecute(AddrResolution.java:411) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
at oracle.net.ns.NSProtocol.establishConnection(NSProtocol.java:672) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
at oracle.net.ns.NSProtocol.connect(NSProtocol.java:237) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1042) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:301) ~[ojdbc5_11g-11.2.0.1.0.jar:11.2.0.1.0]
问题:
>我之前从未见过这样的连接URL.它看起来更像是TNSNAMES.ORA中的一个条目.如何找出此连接字符串的含义?
>什么可能导致这个无用的错误消息?
解决方法:
语法是“Oracle Net连接描述符语法”,请参见JDBC Developers Guide中的表8.3.
语法确实与tnsnames.ora中使用的语法相同;此语法在Oracle Database Net Services Reference中描述.
至于具体问题,它看起来像你在描述符中有不平衡的括号,具体来说:
(FAILOVER=ON)LOAD_BALANCE=OFF)
应该:
(FAILOVER=ON)(LOAD_BALANCE=OFF)
(注意附加(.)
沃梦达教程
本文标题为:java – 奇怪的Oracle连接URL
猜你喜欢
- Spring 中 @Service 和 @Resource 注解的区别 2023-08-01
- jsp倒计时简单实现方法 2023-08-03
- mybatis中@Param注解总是报取不到参数问题及解决 2023-02-28
- java注解处理器学习在编译期修改语法树教程 2023-05-24
- 关于Springboot中JSCH的使用及说明 2023-06-02
- JSP实用教程之简易页面编辑器的实现方法(附源码) 2023-08-01
- SpringBoot自定义starter启动器的实现思路 2023-06-23
- 为Java / Spring / Tomcat Web应用程序淘汰MongoDB或Couch的Hibernate / Mysql 2023-11-01
- 解决在微服务环境下远程调用feign和异步线程存在请求数据丢失问题 2022-11-11
- JDBC获取数据库连接的5种方式实例 2023-01-18