求教The connection is already open.错误
请教高手当我在IE中执行一个复杂数据库操作时(一般需要3分钟以上才能算完),关闭IE
然后再开一个新IE执行Conn.Open()连接数据库时系统报错:
应用程序中的服务器错误。
The connection is already open.
System.InvalidOperationException: The connection is already open.
MySqlCommand comm = new MySqlCommand(strSQL.ToLower(),Conn);
Conn.Open();
MySqlDataReader dr;
因为这边的应用是一个多人并行操作的Web系统,如何解决这种问题呢? --------------------编程问答-------------------- 在执行时,判断连接是否打开,如果打开,就不用再打开了。如果没打开,就执行打开。
一般在操作数据库时,都是默认使用了连接池,而不用管这些东西的了。 --------------------编程问答-------------------- 过几分钟以后再刷新报错的页面,就可以得到正确的信息了
或许是连接池?排队或者是数据库的并发机制需要修改???
有没有碰到过类似的情况?能否介绍一下,非常感谢! --------------------编程问答-------------------- 现在想解决的是并发,并发的用户很多,如果一个用户执行复杂操作,其他用户就完全不能用了哦
lovvver,不再打开,那不就是其他用户无法使用了吗?
默认的连接池在普通操作过程中是可以的,但是在耗时较长的复杂操作中不太适用 --------------------编程问答-------------------- 是不是你的DataReader 没有关闭啊,DataReader 没关闭的话它会一直占用连接的。 --------------------编程问答-------------------- 为了通用,代码里面的数据库操作全部用采用组件方式
组件外部没有直接数据库访问的
组件里面的数据库操作都关闭了连接,有Conn.Close()语句
而且极少使用DataReader,我的这部分程序里面就没有任何DataReader对象
补充:.NET技术 , C#