banner
李大仁博客

李大仁博客

天地虽大,但有一念向善,心存良知,虽凡夫俗子,皆可为圣贤。

在ASP中使用Session方式保存数据库连接

在 ASP 中,有多种方法可以保存数据库连接。然而,对于一个客户端来说,如果将数据库连接保存在同一个会话中,可以大大减少建立数据库连接的次数。只需要使用一个连接就能完成所有工作,同时还能减少连接池创建、分配和回收数据连接的消耗。而且,当用户关闭浏览器时,会话会自动消除,从而实现自动释放数据连接。

然而,使用会话保存也存在一些缺点。当用户请求数量过多时,会建立不同的会话,这既增加了服务端保存会话的消耗,又因为会话 ID 的有限性而导致冲突。在 Java 中,可以使用 EJB 来解决这个问题,而 Session Bean 是一种很好的解决方式。

以下是在 ASP 中使用会话保存数据连接的代码:

function BuildConn
	dim ConnStr
	dim path
	dim conn
	path = RootPath & "DBName"    '设置数据库路径
	ConnStr="Provider = Microsoft.Jet.OLEDB.4.0; Data Source=" & Server.MapPath(path)
	On Error Resume Next
	Set conn= Server.CreateObject("ADODB.Connection")
	conn.open ConnStr
	If Err Then
		Err.Clear
		set conn=nothing
	end if
	set BuildConn = conn
end function

sub GetConn
	'利用Session控制数据库链接
	'注意,这里只适用于小于一定数量连结的应用,连结用户增加,Session同样增加
	set temp = BuildConn
	if(session("DBConn") = "") then
		session("DBConn") = temp
	end if
	conn = session("DBConn") '设置conn
end sub

sub CloseConn
	conn = session("DBConn") '设置conn
	if conn <> "" then
		conn.close
	end if
end sub
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。