当前位置:首页 » 网站技术 » ASP

访问数据库 [3]

...

  使连接超时

  活动的突然增长可能使数据库服务器变得十分笨拙,大量增加建立数据库连接的时间。结果是,过长的连接延时将降低数据库的性能。

  用 Connection对象的 ConnectionTimeout,您可以限制放弃连接尝试并发出错误消息之前应用程序等待的时间。例如,下面的脚本设置 ConnectionTimeout属性,在取消连接尝试之前等待 20秒:

  Set cn = Server.CreateObject("ADODB.Connection")

  cn.ConnectionTimeout = 20

  cn.Open "FILEDSN=MyDatabase.dsn"

  默认的 ConnectionTimeout属性是 30秒。

  注意在将 ConnectionTimeout属性合并到数据库应用程序之前,一定要确保连接提供程序和数据源支持该属性。

  共享连接

  经常建立和中断数据库连接的 Web数据库应用程序可能会降低数据库服务器的性能。ASP支持用 ODBC 3.5的共享特性有效管理连接。连接共享维持打开的数据库连接并管理不同的用户共享该连接,以维持其性能和减少空闲的连接数。对每一个连接请求,连接池首先确定池中是否存在空闲的连接。如果存在,连接池返回连接而不是建立到数据库的新连接。

  如果希望将 ODBC驱动程序加入到连接共享中,则必须配置数据库驱动程序并在 Windows NT注册表中设置驱动程序的 CPTimeout属性。当 ODBC断开连接时,连接被存入池中,而不是被断开。CPTimeout属性决定在连接池中的连接保留的时间长度。如果在池中连接保留的时间比 CPTimeout设置的时间长,则连接将被关闭并且从池中删除。CPTimeout的默认值是 60秒。

  您可以通过创建如下设置的注册表键来有选择地设置 CPTimeout的属性,从而启用特定 ODBC数据库驱动程序的连接池:

  \HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\driver-name\CPTimeout = timeout

  (REG_SZ, units are in seconds)

  例如,下面的键将 SQL Server驱动程序的连接池的超时设置定为 180秒(3分钟)。

  \HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI\SQL Server\CPTimeout = 180

  注意默认情况下,通过将 CPTimeout设置为 60秒,Web服务器将激活 SQL Server的连接池。

  使用跨页连接

  尽管您可以通过存储 ASP的 Application对象的连接重复使用跨页连接,但是,始终使连接保持打开是不必要的,也没有充分利用连接池的优点。如果有许多用户需要连接到同一个 ASP数据库应用程序,一个好方法就是,将跨页连接字符串置于 ASP的 Application对象中,重复使用数据库连接。例如,可以在 Global.asa文件的 Application_OnStart事件过程中指定连接字符串,如下面的脚本所示:

  Application.lock

  Application("ConnectionString") = "FILEDSN=MyDatabase.dsn"

  Application.unlock

  然后,在每一个访问数据库的 ASP文件中写入:

  <OBJECT RUNAT=Server ID=cn PROGID="ADODB.Connection"> </OBJECT>

  要想创建连接对象的实例,请使用以下脚本:

  cn.Open Application("ConnectionString")

  对于打开的连接,可以在页尾写入以下脚本,关闭连接:

  cn.Close

  在单个用户需要重复使用跨页连接的情况下,使用 Session对象连接比使用 Application对象更好。

  关闭连接

  要想更好地使用连接池,就应尽快地关闭数据库连接。默认情况下,当脚本执行完以后,连接将被终止。当不再需要连接时将其关闭,就可以减少对数据库服务器的要求并可以使其他用户能够使用该连接。

  可以使用 Connection对象的 Close方法终止 Connection对象和数据库之间的连接。下面的脚本打开连接,然后将其关闭:

  <% strDSN = "FILEDSN=MyDatabase.dsn"

  Set cn = Server.CreateObject("ADODB.Connection")

  cn.Open

  cn.Close

  %>


继续阅读
调试 ASP 脚本 [1]
调试 ASP 脚本 [2]
维护 ASP 应用程序的安全 [1]
维护 ASP 应用程序的安全 [2]
ASP.NET 简介
asp.net教程之一:概论(1)
asp.net教程之一:概论(2)
实现ASP文件在线发邮件
用ASP制作彩色校验码的方法
发表评论

昵称:
最新评论
暂时没有评论!