1. はじめに
ASP (Active Server Pages) は、Microsoft の IIS3.0 以降でサポートされるサーバー側のスクリプト環境です。これを使用して、動的な Web ページを作成したり、強力な Web アプリケーションを生成したりできます。 ASP ページは、HTML タグ、テキスト、およびスクリプト コマンドを含むファイルです。 ASP ページは、ActiveX コンポーネントを呼び出して、データベースへの接続やビジネス計算の実行などのタスクを実行できます。 ASP を使用すると、Web ページにインタラクティブなコンテンツを追加したり、HTML ページを使用して Web アプリケーション全体を構成したりできます。これらのアプリケーションは、顧客へのインターフェイスとして HTML ページを使用します。
2.
ASP モデル ブラウザが Web サーバーから .asp ファイルを要求すると、ASP スクリプトの実行が開始されます。次に、Web サーバーは ASP を呼び出します。ASP は、要求されたファイルを完全に読み取り、すべてのスクリプト コマンドを実行して、Web ページをブラウザーに送信します。
ASP は、Microsoft VBScript や Microsoft JScript などの既存のスクリプト言語を HTML ページで使用するためのフレームワークを提供します。
ASP は、ユーザーがブラウザ要求を通じて送信された情報の収集、ブラウザへの応答、ユーザー情報の保存を容易にする組み込みオブジェクトを提供します。 Application、Request、Response、Server、Session、および ObjectContext オブジェクトが含まれます。最も一般的に使用されるオブジェクトは、Request、Response、および Server です。これらは、ブラウザーからの情報の要求、ブラウザーへの情報の送信、およびサーバー上のオブジェクトのプロパティとメソッドへのアクセスに使用されます。
3. ADO
ASP とバックグラウンド データベース接続では、Microsoft の ADO (ActiveX Data Objects) を使用します。ADO は、Web ページへのデータベース アクセスを追加する、使いやすくスケーラブルなテクノロジです。 ADO を使用すると、Open Database Connectivity (ODBC) 準拠のデータベースや OLE DB 準拠のデータ ソースに接続するためのコンパクトで簡潔なスクリプトを作成できます。
ADO には、Connection、Command、RecordSet、Fields、Error、Parameters、Properties という 7 つの組み込みオブジェクトが含まれています。これらのオブジェクトを通じて、ASP はバックグラウンド データベースですべての操作を完了できます。
4. ASP はビューとストアド プロシージャを呼び出します
。一般的な MIS アプリケーションでは、この時点で、バックグラウンド データベースに対応するビューまたはストアド プロシージャを作成し、ASP を使用して ADO を通じてそれらを呼び出します。レポートの仕事。以下に例を使用して、対応する操作プロセスを説明します。
1. ODBC DSN ファイルを作成します。
データベース スクリプトを作成する前に、ADO がデータベースを検索、識別し、通信する方法を提供する必要があります。データベース ドライバーは、データ ソース名 (DSN) を使用して特定の ODBC 準拠データベースを見つけて識別し、Web アプリケーションからデータベースに情報を渡します。
2.
データベース ビューを呼び出してデータベース情報にアクセスする最初のステップは、データベース ソースとの接続を確立することです。 ADO は、アプリケーションと ODBC データベース間の接続を確立および管理するために使用できる Connection オブジェクトを提供します。
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '接続オブジェクトを作成します
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;
UID=sa;PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;リージョン=はい"
Set cmdTemp = Server.CreateObject("ADODB.Command") 'コマンド オブジェクトを作成します
Set rst= Server.CreateObject("ADODB.Recordset") 'レコードセット オブジェクトを作成します
cmdTemp.CommandText = "顧客"
cmdTemp.CommandType = 2
cmdTemp.ActiveConnection = DataConn を設定します
rst.Open cmdTemp, , 1, 3 'クエリ結果を生成します
%>
このとき、Customers はビューであり、ビューからデータをクエリする方法は実テーブルからデータをクエリする方法と同じです。
3. データベースストアドプロシージャを呼び出す
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '接続オブジェクトを作成します
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;
PWD=;APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;リージョン=はい"
Set cmdTemp = Server.CreateObject("ADODB.Command") 'コマンド オブジェクトを作成します
Set rst = Server.CreateObject("ADODB.Recordset") 'レコードセット オブジェクトを作成します
cmdTemp.CommandText = "dbo.pd_test" 'ストアド プロシージャ名
cmdTemp.CommandType = 4 'コマンド カテゴリは 4 であり、ストアド プロシージャとして表現されます
cmdTemp.ActiveConnection = Dataconn を設定します
Set tmpParam = cmdTemp.CreateParameter("戻り値", 3, 4, 4)
cmdTemp.Parameters.Append tmpParam
Set tmpParam = cmdTemp.CreateParameter("@BeginDate", 135, 1, 16, riqi)
'入力パラメータオブジェクトの作成
cmdTemp.Parameters.Append tmpParam
rst.Open cmdTemp, , 1, 3 'クエリ結果を生成します
%>
ここで呼び出されるストアドプロシージャは、ADO で提供されている標準メソッドである pd_test ですが、問題は、ストアドプロシージャ内に 2 つ以上の SELECT 文があり、それらを同時に実行することが論理的に不可能である場合です。 ADO ストアド プロシージャ内の SELECT ステートメントが多すぎることを示すメッセージが表示されます。解決策は、次のように、ADO CONNECTION オブジェクトの EXECUTE メソッドを直接使用してストアド プロシージャを直接実行することです。
<%
Set Dataconn = Server.CreateObject("ADODB.Connection") '接続オブジェクトを作成します
Dataconn.Open "DSN=SinoTrans;SERVER=APP_SERVER;UID=sa;PWD=;
APP=Microsoft(R) Developer Studio;WSID=APP_SERVER;リージョン=はい"
ss = "dbo.pd_test を実行 " & "'" & riqi1 & "'"
rs = dataconn.Execute(ss) を設定します。
%>
ASP および ADO の使用の詳細については、「Microsoft ActiveX データ オブジェクト (ADO) および Active Server Pages (ASP) の詳細リファレンス」を参照してください。
5. 結論
B/S 構造の開発では、ストアド プロシージャを使用して DBMS にビジネス ルールや複雑なクエリを記述し、ASP の ADO オブジェクトを使用してそれらを呼び出して、元の C/S の従来の関数を完了できます。 S構造。