繁体   English   中英

错误:在SQL Anywhere中超出数据库服务器连接限制。 这个错误与调用dispose()有什么关系吗?

[英]Error: Database server connection limit exceeded in SQL Anywhere. Does this error has anything to do with calling dispose()?

如标题所示,我一直在研究此错误的原因。 然后我看到这主要表明它最有可能与许可证号有关 但是,在最底端有一个答复建议对连接对象调用dispose()也是一种解决方案。 这是真的?

注意:我们使用的是Entity Framework 4.0和SQLAnywhere 16

更新:我发现这篇文章似乎暗示了调用dispose对用户连接没有任何影响。 有什么想法吗? 非常感谢!

凯文在评论中提出了一个好的观点。 将连接放在using语句中是最简单的,这样在不使用时会自动将其丢弃。

// connectionString must be set up
using (SqlConnection connection = new SqlConnection(connectionString))
{
    // Do stuff with connection to DB
}

您想知道是否需要调用Dispose,并且这是否会对用户连接产生影响。 实际上,using语句调用Dispose()本身,如您在此处所见。 “ using语句以正确的方式在对象上调用了Dispose方法...”因此,我相信您的问题可能是因为您打开/关闭连接的原始方式留下了挂起的连接。 而是使用using语句,一旦代码离开该块,连接将自动关闭。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM