首页 新闻 会员 周边

有关.NET链接Oracle数据库,使用连接池pooling=true时问题

0
悬赏园豆:100 [待解决问题]

    .net链接oracle数据库时,当链接字符串中pooling=true时,视图结构变更时程序报错问题,还请高手指教

    现象:

    链接字符串:    

   注意:这里pooling=true

    测试视图:

    执行的SQL语句为:  select * from vi_tbtest;

    填充DataTable代码为:    

   第一次查询正常:   

   当修改视图:

   

   注意:这里去除了一个字段

    程序代码不变,重新查询,报错如下:

   

   当pooling=false时则不存在以上问题      

   这个问题一直困扰了我好久,始终没有找到合适的解决方案,还请高手指教。

 

   PS:

      1. 清除链接池:

      2. 设置  Connection lifetime为较短的时间

      以上两种方法可以临时解决报错问题,但是如果用以上两种方法不是就达不到使用连接池的目的了么,还不如直接是指pooling=false了。

     SQLServer则不存在以上问题。

     特发此文求助大神!!

摩天轮 _ sjfe_cn的主页 摩天轮 _ sjfe_cn | 初学一级 | 园豆:102
提问于:2017-12-16 11:15
< >
分享
所有回答(2)
0

参考 Problem in reading data from Oracle Database:

In general, we do not recommend modifying the table structure while there are applications that use it. This is due to various table metadata cache that might be stored by Oracle's modules as well as other intermediate modules to speed up performance.

dudu | 园豆:30994 (高人七级) | 2017-12-16 14:25

Thanks

The Oracle internal reasons,  Oracle metadata structure are cached to link to the pool, unless the connection pool, or there will be no other way?

支持(0) 反对(0) 摩天轮 _ sjfe_cn | 园豆:102 (初学一级) | 2017-12-16 14:35
0

一样遇到。

代码小王子来了 | 园豆:208 (菜鸟二级) | 2019-04-28 13:36
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册