慎重な開発者は、
データベースの読み取りと書き込みが必要なページに<!-- #include file="conn.asp" -->
のようなコードを含めると、実際には読み取りや書き込みをまったく実行していないのではないかと考えることがあります。書き込み データベース操作中、データベース接続は開いたままであり、サーバー リソースを消費し続けます。
では、データベースを読み取る必要がある場合にのみデータベース接続を開き、読み取られていない場合には何もしないようにする方法はあるのでしょうか? このアイデアは、他の人にインスピレーションを与えるために以下に提供されています。
このアイデアは、データベース接続コードを関数にカプセル化し、読み取りが必要なときにこの関数を呼び出すというものです。
SQL 接続コードは次のとおりです:
Function Open_conn()
ディムコン、ストコン
set Conn=server.createobject("adodb.connection")
Strconn = "プロバイダ = Sqloledb; ユーザー ID = データベース ログイン アカウント; パスワード = データベース ログイン パスワード; 初期カタログ = データベース名; データ ソース = (ローカル);"
Conn.open Strconn
set Open_conn=接続
エラーの場合はその後
エラークリア
Conn.close:Conn=nothing を設定します
Response.Write "申し訳ありませんが、データベース接続エラーです。"
応答.終了
終了の場合
End 関数
呼び出しメソッド:
元の
rs.open sql, conn を
rs.open sql, Open_conn()
に
変更します。以下は ACCESS 接続コードです:
Function Open_conn()。
dim Dbpath、Conn
Dbpath=server.MapPath("データベース パス")
set Conn=server.createObject("ADODB.connection")
Conn.open "データ ソース = "&dbpath&";プロバイダ = Microsoft.Jet.OLEDB.4.0;"
set Open_conn=接続
エラーの場合はその後
エラークリア
Conn.close:Conn=nothing を設定します
Response.Write "申し訳ありませんが、データベース接続エラーです。"
応答.終了
終了の場合
End 関数
呼び出しメソッド:
オリジナルを交換する
rs.open SQL、conn が
次のように変更されました
ちなみに、
rs.open sql、Open_conn() は、
同じサーバー上のサイト間で ACCESS データベースを共有できる古いコードを提供します。おそらく友人がそれを使用できるでしょう。場合によっては、多数の第 2 レベルのドメイン名が必要になることがあります。これらの第 2 レベル ドメイン名で特定の ACCESS データベースを呼び出すには、SQL データベースを使用したくない場合は、データベース接続に次の方法を使用できます。 (特別な注意: サーバーに FSO セキュリティ権限がある場合は、呼び出す必要がある各ステーションの IIS ユーザーがアクセスして変更できるように、このデータベース ディレクトリを設定する必要があります。)
データベースへの次の物理パスは E に似ています。 ディレクトリ ディレクトリデータベース名
dim Conn、Strconn
Set Conn = Server.CreateObject("ADODB.Connection")
Strconn="プロバイダ = Microsoft.Jet.OLEDB.4.0; "
Strconn=Strconn & "データソース=データベースの物理パス"
Conn.Open Strconn
エラーの場合はその後
エラークリア
Conn.close:Conn=nothing を設定します
Response.Write "申し訳ありませんが、データベース接続エラーです。"
応答.終了
終了の場合