我正在尝试将我的应用程序连接到现有的Oracle RAC数据库。在做了一些测试之后,我们看到我的应用程序只连接到数据库的一个实例。 原始的jdbc网址如下:
JDBC:预言:薄@ // yourhostname.com:1521/SID
DBA提供了一些信息,显示连接未处于故障转移模式。 在论坛上阅读一些内容之后,似乎需要更改网址,添加TNS设置。所以我最终得到了以下内容:
jdbc:oracle:thin@(DESCRIPTION =(LOAD_BALANCE=on)(FAILOVER=on)(ADDRESS =
(PROTOCOL=TCP)(HOST=scan-alias)(PORT = 1521))(CONNECT_DATA(SERVICE_NAME=servicename)))
然而,当我启动应用程序时,我得到了一个oracle异常,' NL Exception' 有什么想法吗?
答案 0 :(得分:2)
您需要在'@'之前添加冒号':'。
试试这个:
jdbc:oracle:thin:@(DESCRIPTION=(LOAD_BALANCE=on)(FAILOVER=on)(ADDRESS =(PROTOCOL=TCP)(HOST=scan-alias)(PORT = 1521))(CONNECT_DATA=(SERVICE_NAME=servicename)))
请注意,我删除了'DESCRIPTION ='之后的额外''空格字符。
答案 1 :(得分:0)
Jean deLavarene暗示的AS
可能需要在'@'之前添加一个冒号':'。此外,您可以添加:FAILOVER_MODE和RETRIES参数,最终URL如下所示。
jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS=(PROTOCOL=TCP)(HOST=scan-alias)
(PORT=1521))(LOAD_BALANCE=ON)(FAILOVER=ON)(CONNECT_DATA=(SERVER=SHARED)(SERVICE_NAME=FOODB)
(FAILOVER_MODE=(TYPE=SELECT)(METHOD=BASIC)(RETRIES=180)(DELAY=5))))
请通过以下URL中提到的数据源配置:
https://developer.jboss.org/wiki/ConfigDataSources https://docs.oracle.com/database/121/HABPT/config_fcf.htm