ASP が ORACLE ストアド プロシージャを呼び出し、結果セットを返す
ASP が ORACLE を呼び出す方法はネット上でたくさん見ましたが、あまり直接的なものはなかったので、各社のことをまとめて最終的に思いついた方法です。必要性が高いと思うので、その方法を紹介します。
############################ ################ ##
Oracle ストアド プロシージャ
############################################## #
- -ヘッダーの作成
パッケージ pck_as を作成または置換する
として
type t_product_id は数値のテーブルです
binary_integer によるインデックス;
type t_serial_no は varchar(300) のテーブルです
binary_integer によるインデックス;
type t_buy_date は日付のテーブルです
binary_integer によるインデックス;
プロシージャ allsfc
(
product_id から t_product_id、
シリアル番号出力 t_シリアル番号、
buy_date から t_buy_date
);
--プロシージャ allsfc1;
pck_as を終了します。
-- パッケージ本体の作成
パッケージ本体 pck_as を作成または置換する
として
プロシージャ allsfc
(
product_id から t_product_id、
シリアル番号出力 t_シリアル番号、
buy_date から t_buy_date
)
は
カーソル cur_sfc_tbl_product_reg は
sfc_tbl_product_reg から product_id、serial_no、buy_date を選択します。
私はデフォルトの 1 を数値化します。
始める
cur_sfc_tbl_product_reg の記録用
ループ
製品 ID(i) := onrecord.製品 ID;
シリアル番号(i) := onrecord.シリアル番号;
buy_date(i) := onrecord.buy_date;
i := i + 1;
ループを終了します。
終わり;
終わり;
############################################## #
ASPコール
############################################## #
<html>
<頭>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>無題のドキュメント</title>
</head>
<body>
<%
薄暗い str_ora
薄暗いobjconn_ora
str_ora = "ドライバー={Microsoft ODBC for Oracle};サーバー=ora192;uid=dwuser;pwd=family.samsung.com.cn"
set objconn_ora = server.CreateObject("adodb.connection")
objconn_ora.connectionstring = str_ora
objconn_ora.CursorLocation = 3
objconn_ora.open
dim strsql
set rs1 = server.CreateObject("ADODB.RecordSet")
strsql = "{call pck_as.allsfc({resultset 90000、product_id、serial_no、buy_date})}"
set objcomm1 = server.CreateObject("adodb.command")
objcomm1.activeconnection = objconn_ora
objcomm1.commandtype = 1
objcomm1.commandtext = strsql
set rs1 = objcomm1.execute
rs1.eofではありませんが
response.Write(rs1(0) & "|" & rs1(1) & "|" & rs1(2) & "|<BR>")
rs1.movenext
曲がります
%>
</body>
</html>