在本机运行时,没有任何问题。但是提交到服务器是却出现了上述问题。不知道什么原因?请高手指教!
调用的代码是啥样子的?
PrepareCommand(cmd, conn, null, cmdType, cmdText, commandParameters);
里面代码是怎样写的?
是否预处理时PrepareCommand已经把打开了?
关于本机可以,但是发布后不可以,极有可能是因为本机的Debug模式时,编译器特殊处理了。
已有打开与此命令相关联的DataReader,必须首先将它关闭
DataReader在调用完毕后是需要关闭的。随用随关。可以使用这种方式:
using(SqlDataReader reader = ...)
{
string temp = reader["column"].ToString();
}
这个代码块是自动关闭的。
或者把你原有调用的代码放到try块中,加一个finaly块,在其中写上关闭代码,例如:
reader.Close();
本机没出问题,是因为本机使用量小,数据库连接少。服务器上数据库连接多了,大于了连接池的最大数量,就会报错。