你的位置:首页 > 软件开发 > ASP.net > 记录关于使用ADO.NET 连接池连接Oracle时Session信息不更新的坑

记录关于使用ADO.NET 连接池连接Oracle时Session信息不更新的坑

发布时间:2016-08-09 22:00:14
最近的一个项目中,由于界面查询的数据量比较大,关联的表比较多,有些数据查出来需要临时保存起来供后面的查询使用,于是想到了用oracle的临时表来实现这个需求。大家都知道,oracle的临时表有两种:事务级别临时表和会话级别临时表,我这里使用的是会话级别的临时表。当时把功能时候后就 ...

记录关于使用ADO.NET 连接池连接Oracle时Session信息不更新的坑

      最近的一个项目中,由于界面查询的数据量比较大,关联的表比较多,有些数据查出来需要临时保存起来供后面的查询使用,于是想到了用oracle的临时表来实现这个需求。大家都知道,oracle的临时表有两种:事务级别临时表和会话级别临时表,我这里使用的是会话级别的临时表。当时把功能时候后就以为万事大吉了,没想到就在这里买下了一个坑。

      坑的浮现:之后在为系统加调试日志时偶然发现了临时表的数据没有像oracle临时表的定义那样“不同会话独享临时表,临时表的数据在会话结束后被自动清空”。首先看第一次查询的日志记录截图,第一次的查询数据量是10017行,红色框圈住的地方使用到临时表:第二次查询的日志记录截图,第二次查询的数据量比第一次少,15行:记录关于使用ADO.NET 连接池连接Oracle时Session信息不更新的坑3、每次查询都是新建一个Connection,然后都是在查询完后调用Close()、Dispose(); Places the connection to the connection pool if connection pooling is enabled. Even if connection pooling is enabled, the connection can be closed if it exceeds the connection lifetime specified in the connection get='_blank'>string. If connection pooling is disabled, the connection is closed.Closes the connection to the database.

The connection can be reopened using Open().

 

海外公司注册、海外银行开户、跨境平台代入驻、VAT、EPR等知识和在线办理:https://www.xlkjsw.com

原标题:记录关于使用ADO.NET 连接池连接Oracle时Session信息不更新的坑

关键词:.NET

*特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: admin#shaoqun.com (#换成@)。