2

我有一个连接到 SQL 服务器的经典 ASP (vbscript) Web 应用程序。在某些页面上,我打开多个数据库连接以提取数据。

我的问题是:

在每个页面底部添加关闭连接功能还是在使用后立即显式关闭连接更好?请记住,在这些特定页面上,我每次获取数据时都会重新打开数据库连接;我不重用连接。IE:

Set DBread = Server.CreateObject("ADODB.Connection")
DBread.Mode = adModeRead
DBread.Open (SQL_DB_CONN)

当我关闭连接时,我使用:

DBread.Close
Set DBread = Nothing

那么,我应该不断打开然后关闭连接还是不断打开连接,然后在页面末尾关闭它们一次?

4

2 回答 2

3

尽可能短地保持连接打开。连接池将为您担心效率。

但是,如果您有连续的数据库操作,它们可以共享相同的连接。这也将允许您使用事务。

于 2012-09-21T18:47:23.267 回答
2

您应该打开一个连接并在页面顶部进行所有查询,然后在执行最后一个查询后立即关闭连接

例子:

Dim DBread
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
于 2012-09-21T18:47:07.340 回答