我有一个连接到SQL服务器的经典ASP(vbscript)Web应用程序。在某些页面上,我打开多个数据库连接来提取数据。
我的问题是:
最好在每个页面的底部添加一个关闭连接功能,还是在使用后立即明确关闭连接?请记住,在这些特定页面上,每次获取数据时我都会重新打开数据库连接;我没有重用连接。 IE:
Set DBread = Server.CreateObject("ADODB.Connection")
DBread.Mode = adModeRead
DBread.Open (SQL_DB_CONN)
当我关闭连接时,我使用:
DBread.Close
Set DBread = Nothing
那么,我应该经常打开然后关闭连接还是不断打开连接,然后在页面末尾关闭它们一次?
答案 0 :(得分:2)
您应该打开一个连接并在页面顶部进行所有查询,然后在上次查询执行后立即关闭连接
示例:
Set DBread = Server.CreateObject("ADODB.Connection")
DBread.Mode = adModeRead
DBread.Open (SQL_DB_CONN)
'Make SQL Calls Here and Save rows of data by using the getrows function
DBread.Close
Set DBread = Nothing
'Process rows of data here
答案 1 :(得分:2)
尽可能短的时间保持您的连接畅通无阻。 Connection pooling会担心你的效率。
但是,如果您有顺序数据库操作,他们可以共享相同的连接。这也允许您使用交易。