.net链接oracle数据库时,当链接字符串中pooling=true时,视图结构变更时程序报错问题,还请高手指教
现象:
链接字符串:
注意:这里pooling=true;
测试视图:
执行的SQL语句为: select * from vi_tbtest;
填充DataTable代码为:
第一次查询正常:
当修改视图:
注意:这里去除了一个字段
程序代码不变,重新查询,报错如下:
当pooling=false时则不存在以上问题
这个问题一直困扰了我好久,始终没有找到合适的解决方案,还请高手指教。
PS:
1. 清除链接池:
2. 设置 Connection lifetime为较短的时间
以上两种方法可以临时解决报错问题,但是如果用以上两种方法不是就达不到使用连接池的目的了么,还不如直接是指pooling=false了。
SQLServer则不存在以上问题。
特发此文求助大神!!
参考 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.
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?
一样遇到。