主頁 > 知識(shí)庫 > Asp Oracle存儲(chǔ)過程返回結(jié)果集的代碼

Asp Oracle存儲(chǔ)過程返回結(jié)果集的代碼

熱門標(biāo)簽:電子圍欄 科大訊飛語音識(shí)別系統(tǒng) 服務(wù)器配置 Mysql連接數(shù)設(shè)置 團(tuán)購網(wǎng)站 銀行業(yè)務(wù) 阿里云 Linux服務(wù)器
經(jīng)過摸索和實(shí)踐,我把自己的解決方法,寫在下面:
說明:
我的Oracle客戶端的版本是 oracle 9i, 安裝client端的時(shí)候,不能用默認(rèn)安裝,一定要自定義, 然后選擇所有 OLEDB 相關(guān)的內(nèi)容,都裝上,否則到下面的 Provider 的時(shí)候,會(huì)找不到。
復(fù)制代碼 代碼如下:

%@Language="VBSCRIPT" CodePage="936" LCID="2052"%>
%Option Explicit%>
!-- #include file="../adovbs.inc" -->
%
Dim cnOra
Function Connect2OracleServer
Dim conStr
conStr = "Provider=MSDAORA.Oracle;Data Source=xx;User Id=?;Password=?"
Set cnOra = Server.CreateObject("ADODB.Connection")
cnOra.CursorLocation = adUseClient '=3
On Error Resume Next
cnOra.Open conStr
Connect2OracleServer = (Err.Number = 0)
End Function
Sub DisconnectFromOracleServer
If Not cnOra is Nothing Then
If cnOra.State = 1 Then
cnOra.Close
End If
Set cnOra = Nothing
End If
End Sub
Sub Echo(str)
Response.Write(str)
End Sub
Sub OutputResult
Dim cmdOra
Dim rs
Set cmdOra = Server.CreateObject("ADODB.Command")
With cmdOra
.CommandType = adCmdText '=1
.CommandText = "{call PKG_TEST.GetItem(?,?)}"
.Parameters.Append cmdOra.CreateParameter("p1", adNumeric, adParamInput, 10, 1)
.Parameters.Append cmdOra.CreateParameter("p2", adVarChar, adParamInput, 10, "xx")
.ActiveConnection = cnOra
Set rs = cmdOra.Execute
If Not rs.Eof Then
While Not rs.Eof
Echo rs(0)
Echo "--"
Echo rs(1)
Echo "br>"
rs.MoveNext
Wend
rs.Close
End If
Set rs = Nothing
Set cmdOra = Nothing
End With
DisconnectFromOracleServer
End Sub
If Connect2OracleServer Then
OutputResult
Else
Response.Write(Err.Description)
End If
%>

下面是 Oracle 的 sql 腳本
--------------------------------------SQL Script----------------------------------
--建包-----------------------------------
復(fù)制代碼 代碼如下:

Create Or Replace Package PKG_TEST
IS
TYPE rfcTest IS REF CURSOR ;
PROCEDURE GETITEM
( p1 IN NUMBER,
p2 IN VARCHAR2,
p3 OUT rfcTest
);
END; -- Package Specification PKG_TEST
---------------------------------------------------
--建包體-----------------------------------
Create Or Replace Package Body PKG_TEST
IS
PROCEDURE GETITEM
( p1 IN NUMBER,
p2 IN VARCHAR2,
p3 OUT rfcTest
)
IS
BEGIN
OPEN p3 FOR
SELECT * FROM tablename WHERE id = p1 AND name=p2 AND rownum 10 ;
EXCEPTION
WHEN OTHERS THEN
NULL ;
END;
END; -- Package Body PKG_TEST

標(biāo)簽:衢州 棗莊 衡水 江蘇 蚌埠 萍鄉(xiāng) 廣元 大理

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Asp Oracle存儲(chǔ)過程返回結(jié)果集的代碼》,本文關(guān)鍵詞  ;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 收縮
    • 微信客服
    • 微信二維碼
    • 電話咨詢

    • 400-1100-266