操作数据库出现InvalidOpertionException(内部连接致命错误)

时间:2023-03-08 22:02:58
操作数据库出现InvalidOpertionException(内部连接致命错误)
用DataTables时并发访问量较大,单个任务操作(获取数据)时间较长。连接数过多的时候就出现InvalidOpertionException错误。
知道哪里有问题那就好办了,对GetDataTable(string sql):DataTable方法用线程锁 lock() ,这样就不会出现上述问题。类型问题也可以这样解决。
代码:
       private static readonly object olock = new object();
public static DataTable GetDataTable(string sql)
{
lock (olock)
{
SqlDataAdapter sda = new SqlDataAdapter(sql, connection);
DataTable dt = new DataTable();
sda.Fill(dt);
sda.Dispose();
return dt;
}
}