首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

weblogic配置多个数据源,程序通过jndi连接不同数据源,数据源切换时出现的有关问题

2012-08-24 
weblogic配置多个数据源,程序通过jndi连接不同数据源,数据源切换时出现的问题。Caused by: java.sql.SQLExc

weblogic配置多个数据源,程序通过jndi连接不同数据源,数据源切换时出现的问题。

Caused by: java.sql.SQLException: Connection has already been created in this tx context for pool named OracleDB. Illegal attempt to create connection from another pool: uptel_login
??????? at weblogic.jdbc.jts.Driver.getExistingConnection(Driver.java:473)
??????? at weblogic.jdbc.jts.Driver.connect(Driver.java:142)
??????? at weblogic.jdbc.common.internal.RmiDataSource.getConnection(RmiDataSource.java:305)
??????? at com.gsta.neva2.business.sqlclient.SqlClient.getConnection(SqlClient.java:135)
??????? at com.gsta.neva2.business.sqlclient.Session.getConnection(Session.java:67)
??????? at com.gsta.neva2.business.sqlclient.SqlClientSupport.select(SqlClientSupport.java:44)

?

?

当配置SqlConfig.xml下成“jndi”时,使用自身封装的sqlclient。在SqlClient.getConnection()时,程序报错:connection为刚访问完的一个数据源OracleDB,竟然不能创建另外一个连接uptel_login,

解决方法有二:

1、使用jdbc访问数据库,不会出现该情况,可能由于jdbc是每次执行完sql后就提交事务,所以前一个数据源已经“彻底关闭”。(其实封装的sqlclient在每次访问结束后都把session,con之类的关闭了(为null),就是不清楚为什么Connection 还是前一个数据源的连接)。

2、在weblogic控制台将uptel_login这个数据源配置:Honor Global Transactions为false?(默认为true)。这个值不能修改,只能在新建数据源时配置。

?

?

?

?

?

热点排行