存档

‘Hibernate’ 分类的存档

hibernate连接oracle集群问题之分析与解决

2012年7月5日 没有评论

最近公司做了一个基于三个框架struts,hibernate,spring 的项目,在连接oracle数据库集群时出现了问题,由于客户那边的保密要求,异常信息没有拷出来。当时的连接地址是从客户别的系统考出来的,别的系统就没有问题,就我们的系统连接不上,客户那边不能上面,没法查资料,当时郁闷死了,找了半天也没有找出来问题所在,不过最后还是解决了,在这里和大家分享一下。连接字符串如下所示:

jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS_LIST=(LOAD_BALANCE = ON)(FAILOVER = ON)(ADDRESS = (PROTOCOL = TCP)(HOST = ServerA)(PORT = 1521))(ADDRESS = (PROTOCOL = TCP)(HOST = ServerB)(PORT = 1521)))(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = DBServer)(FAILOVER_MODE =(TYPE = SELECT)(METHOD = BASIC)(RETRIES = 30)(DELAY = 5))))

其中连接不成功原因之分析:

  1. 检查连接字符串是否正确,如括号是否碰对。
  2. 检查连接地址是否正确,如在别的系统上是否能够连接成功。
  3. 检查本系统连接的驱动是否正确,最好用服务器oracle中的驱动

当时这些都检查了,都没有问题。但是还不行。最后才知道是因为加了此属*(SERVER = DEDICATED)数据库连接服务为专有,去掉就好使了。在本系统用了三个框架,也许是hibernate和spring对其数据库连接有单独的处理方式吧,当时也没弄怎么明白,总之把问题给解决了