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