ASP ruft die gespeicherte ORACLE-Prozedur auf und gibt die Ergebnismenge zurück.
Ich habe im Internet viele Methoden zum Aufrufen von ORACLE durch ASP gesehen, aber es gibt nichts sehr Direktes, also habe ich die Dinge jedes Unternehmens zusammengefasst und schließlich eine Methode entwickelt, die ich habe Ich habe das Gefühl, dass es beliebter ist, daher ist hier die Methode
############################ ################ ##
Gespeicherte Oracle-Prozedur
############################################## #
- -Kopfzeile erstellen
Erstellen oder ersetzen Sie das Paket pck_as
als
Typ t_product_id ist eine Zahlentabelle
Index nach Binary_Integer;
Typ t_serial_no ist eine Tabelle von varchar(300)
Index nach Binary_Integer;
Typ t_buy_date ist eine Datumstabelle
Index nach Binary_Integer;
Prozedur allsfc
(
Produkt_ID aus t_Produkt_ID,
serial_no out t_serial_no,
buy_date out t_buy_date
);
--prozedure allsfc1;
end pck_as;
--Paketkörper erstellen
Erstellen oder ersetzen Sie den Paketkörper pck_as
als
Prozedur allsfc
(
Produkt_ID aus t_Produkt_ID,
serial_no out t_serial_no,
buy_date out t_buy_date
)
Ist
Cursor cur_sfc_tbl_product_reg ist
Wählen Sie Produkt-ID, Seriennummer und Kaufdatum aus sfc_tbl_product_reg aus.
i Nummer Standard 1;
beginnen
für onrecord in cur_sfc_tbl_product_reg
Schleife
Produkt_ID(i) := onrecord.Produkt_ID;
serial_no(i) := onrecord.serial_no;
buy_date(i) := onrecord.buy_date;
ich := ich + 1;
Endschleife;
Ende;
Ende;
##############################################
ASP-Aufruf
##############################################
<html>
<Kopf>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>Unbenanntes Dokument</title>
</head>
<body>
<%
dim str_ora
dim objconn_ora
str_ora = "Driver={Microsoft ODBC für Oracle};Server=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
setze rs1 = objcomm1.execute
während nicht rs1.eof
Antwort.Write(rs1(0) & „|“ & rs1(1) & „|“ & rs1(2) & „|<BR>“)
rs1.movenext
wenden
%>
</body>
</html>