我有一个关于在C#中关闭连接的问题。公司有一个应用程序,数据自动从应用程序流向数据库。我想创建自己的ASP + C#应用程序,它将使用select from data(从公司应用程序填充的DB表)作为独立报告的来源。我的问题:关闭我的应用程序中的连接是否会影响第二个(公司,非常重要的应用程序?) - 由于密切连接,记录将在db中丢失?或任何其他问题?
答案 0 :(得分:5)
不,如果你正确关闭它,一切都会安全。我建议你始终使用using
构造。它将自动转换为try-catch-finally和关闭资源。
答案 1 :(得分:5)
这完全取决于你的用例,如果你打开并打开数百甚至数百甚至成千上万的空连接,SQL Server将慢慢开始出现性能下降。
当你向老板询问某些事情时,请想一想,然后你说,#34; Boss-man,我需要问你一个问题。"但是你每秒提醒他数十万次,我需要问你一个问题。"他试图做的任何其他事情都会慢慢开始失去表现,因为他必须处理你将不得不向他提问的事实。与Sql Server类似。 请注意,此时您还没有实际提出您的问题。
如果您的DBMS是Microsoft SQL Server,请参阅此文章:https://msdn.microsoft.com/en-us/library/ms187030.aspx
SQL Server最多允许32,767个用户连接。
如果打开与服务器的32k连接,可能会发生两件事:
不要说任何这种情况都会发生,这需要您打开32,767
并发连接,但它只是进一步证明您应该根据需要打开/关闭。此外,如果您的应用程序使用连接池并且您打开n
连接,并且池限制(与SQL Server分开 - 请注意)是n
,那么您刚刚停止了应用程序打开更多连接。 / p>
一般来说,您应该打开您的连接尽可能延迟,关闭它们早期 as可能的。