首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >长时间打开sql连接

长时间打开sql连接
EN

Stack Overflow用户
提问于 2013-05-07 18:11:39
回答 5查看 2.8K关注 0票数 1

我正在写一个生成网站地图的程序。为了避免重复,我使用MSSQL Server来存储找到的链接。在这个过程中,它可能会读写数百万个链接,并且它们之间的读写过程可能会有很小的差距(我的意思是每次访问数据库之间的时间非常短)。

我想知道我是否可以在程序启动时打开连接,并在结束时关闭它。请考虑创建一些网站地图可能需要几天的时间才能完成。或者每次我想要访问数据库时打开和关闭连接是明智的吗?

顺便说一下,我在本地使用sql server。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-05-07 18:16:41

您的问题的答案是Connection Pooling功能。

最好是在需要时打开连接,访问数据,然后立即关闭并释放连接

确实存在一种特定的工作模式

代码语言:javascript
复制
using(SqlConnection con = new SqlConnection(.....))
{
   ... do your work with the database here ....
}

using statement确保在开口处创建的对象被关闭并放置在闭合大括号中。,即使数据库代码中出现异常也是如此。

这并不意味着你不能尝试优化你的代码。例如,您可以将几个站点地图收集在一起,并在一次拍摄中编写它们,但通常最好遵循一个简单的工作模式,尽快完成工作,并为以后的优化而担心。

票数 3
EN

Stack Overflow用户

发布于 2013-05-07 18:16:51

您可以使用以下代码:

代码语言:javascript
复制
SqlConnection conn;
try
{
    conn = new SqlConnection(_dbconnstr));
}
catch
{
    //exceptions are bubbled
    throw;
}
finally
{
    //Dispose is always called
    conn.Dispose();
}

希望这能有所帮助!

票数 0
EN

Stack Overflow用户

发布于 2013-05-07 18:18:17

我通常在每次使用的时候打开和关闭连接。当周围有很多连接时,必须释放资源。如果你是唯一一个,你可以保留你的资源。注意设置超时连接。

祝你好运,伙计!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16416467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档