在C#多线程中管理Sql连接

时间:2016-06-20 09:30:49

标签: c# sql-server multithreading

我编写了一个c#multithread函数,它从sqlserver读取数据,并且每行数据都会启动一个单独的线程。在每个线程中,我都有需要使用db的代码。 这就是我在每个帖子中所做的事情:

  • 创建新的SQL连接
  • 连接并打开它
  • 做好工作
  • 关闭连接(虽然没有必要)

我应该注意到我使用Using()命令并且我已经读过这个语句管理sql连接并在命令执行后自动关闭它。

应该定期调用此函数(比如说每1分钟一次) 这就是我遇到的问题:

在第一次调用活动sql连接数后增加到行数(每行创建的线程数)。在第二次调用时,此数字再次增加。例如,在有100行的5次调用之后,我们有500个活动的sql连接! 但我已经读过连接池管理连接并再次使用创建的连接。 我该怎么做才能解决这个问题? 我错过了任何陈述,还是有什么可做的,我忘记了?

1 个答案:

答案 0 :(得分:0)

使用just是一个尝试 - 最后,仅此而已,它调用Dispose,而这就是全部。

in a "using" block is a SqlConnection closed on return or exception?