1. 问题描述编辑
通常情况,在定义数据连接时只连一个Oracle数据库,但是有时可能因为网络或者其他原因,数据库连接不上或不能工作了,则整个项目就不能运行了。此时有什么方法让项目能正常运行呢?
2. 实现思路编辑
将两台Oracle数据库中,配置相同的数据库以及数据库登录的用户名和密码,然后通过配置url让这个数据连接能连接两台机器,即使用一个数据连接连多个数据库。
3. 实现步骤编辑
若使用Oracle数据库,在定义数据连接时,将原来的url改成:jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =IP1)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =IP2)(PORT = 1521))(LOAD_BALANCE=yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = 数据库名)))
示例1:在192.168.100.168和192.168.100.170机器上都拥有数据库名为orcl10g,那么数据连接的url就改成:jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.100.168)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.100.170)(PORT = 1521))(LOAD_BALANCE=yes)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = orcl10g)))
即可。
示例2:在env.finedevelop.com对应55602端口拥有一个数据库initfantlam,同时对应55502端口也拥有一个数据库initfantlam,那么数据库连接的url就改成:
jdbc:oracle:thin:@(DESCRIPTION
=(ADDRESS = (PROTOCOL = TCP)(HOST =env.finedevelop.com)(PORT =
55602))(ADDRESS = (PROTOCOL = TCP)(HOST =env.finedevelop.com)(PORT =
55502))(LOAD_BALANCE=yes)(CONNECT_DATA =(SERVER =
DEDICATED)(SERVICE_NAME = initfantlam)))即可。