Home > 语言编程 > ASP中用Session方式保存数据库连接

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

ASP中保存数据库连接有很多种,不过,对于一个client客户来说,如果将数据库连接保存在同一个会话中将大大减少建立数据库连接的次数,只使用一个连接就能完成所有工作,又减少连接池创建,分配,回收数据连接的消耗,同时当用户关闭浏览器时,会话自动消除,又可以实现用户退出是自动释放数据连接。

不过用会话保存也有缺点,过多的用户会建立不同的Session,当用户请求过多时,一方面会增加了服务端保存Session的消耗,另一方面,因为会话ID的有限性,必然会导致冲突,这个在java 中就是使用了EJB来解决的,Session Bean是一种很好的方式。


下面是ASP中使用Session保存数据连接的代码

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
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
Categories: 语言编程 Tags: , ,
  1. June 8th, 2009 at 08:48 | #1

    故地重游了

  1. No trackbacks yet.