dblink hibernate mysql_在Spring+hibernate里关闭远程Oracle dblink

Oracle有一个dblink的东西可以在数据库里远程连接另一个数据库(不仅限于Oracle数据库),通过下列方法创建oracle dblink:

两种方式:

1、已经配置本地服务

4f1150b881333f12a311ae9ef34da474.pngcreatepublicdatabase4f1150b881333f12a311ae9ef34da474.pnglinkname fwq12 connecttofzept

4f1150b881333f12a311ae9ef34da474.pngidentifiedbyneu using'fjept'

CREATE DATABASE LINK数据库链接名CONNECT TO 用户名 IDENTIFIED BY 密码 USING ‘本地配置的数据的实例名’;

2、未配置本地服务

4f1150b881333f12a311ae9ef34da474.pngcreatedatabaselink linkname

4f1150b881333f12a311ae9ef34da474.png  connecttofzept identifiedbyneu

4f1150b881333f12a311ae9ef34da474.png  using'(DESCRIPTION =

4f1150b881333f12a311ae9ef34da474.png    (ADDRESS_LIST =

4f1150b881333f12a311ae9ef34da474.png      (ADDRESS = (PROTOCOL = TCP)(HOST = 10.142.202.12)(PORT = 1521))

4f1150b881333f12a311ae9ef34da474.png    )

4f1150b881333f12a311ae9ef34da474.png    (CONNECT_DATA =

4f1150b881333f12a311ae9ef34da474.png      (SERVICE_NAME = fjept)

4f1150b881333f12a311ae9ef34da474.png    )

4f1150b881333f12a311ae9ef34da474.png  )';

host=数据库的ip地址,service_name=数据库的ssid

通过下列语句操作dblink的数据库:

但是,每次使用dblink查询的时候,均会与远程数据库创建一个连接,dblink应该不会自动释放这个连接。这会引起很多问题,有可能dblink连接断了,继续操作远程数据库就会出错;不释放远程数据库连接,可能会导致远程数据库连接爆满;还可能会导致本地数据库连接泄露等。

在Spring+hibernate架构下,用下列代码关闭dblink数据库连接:

In every method call of the service layer which is calling a dao method which is opening a db link, after the method returns from the dao I close the db link session in the service layer.

public List getBeschaffungen()

{

List beschaffungList = beschaffungDao.getBeschaffungList(suchFilterManage r.getSuchFilter());

beschaffungDao.closeDbLinkSession("dllinkname");

return beschaffungList;

}

public void closeDbLinkSession(final String dbLinkName)

{

getHibernateTemplate().execute(new HibernateCallback(){

public Object doInHibernate(Session session) throws HibernateException, SQLException

{

Statement statement = session.connection().createStatement();

statement.execute("Alter session close database link "+dbLinkName);

logger.info("closing "+dbLinkName+" dblink session");

statement.close();

return null;

}

});

}

IT瘾于2007年8月23日 下午12时00分21秒发布

#

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值