banner
李大仁博客

李大仁博客

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

ASP中でデータベース接続を保存するためのセッション方式

ASP でデータベース接続を保存する方法はいくつかありますが、クライアント側にとっては、データベース接続を同じセッションに保存することで、データベース接続の回数を大幅に減らすことができます。1 つの接続だけですべての作業を完了することができ、接続プールの作成、割り当て、データベース接続の回収の負荷も軽減されます。また、ユーザーがブラウザを閉じると、セッションは自動的に消えるため、ユーザーがログアウトすると自動的にデータベース接続が解放されます。

ただし、セッションを使用する場合には欠点もあります。多くのユーザーが異なるセッションを作成すると、ユーザーのリクエストが多くなると、一方ではサーバー側でセッションの保存に負荷がかかりますし、もう一方ではセッション ID の制約により、必ず衝突が発生します。これは Java では EJB を使用して解決されており、セッション 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
	'セッションを使用してデータベース接続を制御する
	'注意:これは一定数以下の接続にのみ適用されます。接続ユーザーが増えると、セッションも増えます。
	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
読み込み中...
文章は、創作者によって署名され、ブロックチェーンに安全に保存されています。