banner
李大仁博客

李大仁博客

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

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

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

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

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

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

加载中...
此文章数据所有权由区块链加密技术和智能合约保障仅归创作者所有。