对于 Oracle 这个庞然大物,Asp使用起来,确实是捉襟见肘的 。 尤其是要返回结果集(Recordset)的情况,更是让很多人犯难。 经过摸索和实践,我把自己的解决方法,写在下面: 说明: 我的Oracle客户端的版本是 oracle 9i, 安装client端的时候,不能用默认安装,一定要自定义, 然后选择所有 OLEDB 相关的内容,都装上,否则到下面的 Provider 的时候,会找不到。
代码如下:<%@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---------------------------------- --建包-----------------------------------
代码如下: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
荒野乱斗国际版 (BrawlStars)最新版本v56.274
下载一波超人内置修改器菜单版 安卓版v1.0.2
下载敢达决战官方正版 安卓版v6.7.9
下载敢达决战 安卓版v6.7.9
下载继承了一座戏园子无限声望铜钱版 内置菜单最新版v1.7
继承了一座戏园子折相思版是游戏的破解版本,在该版本中为玩家提
山河半世橙光清软金手指版 无限鲜花v3.24
山河半世是一款超级好玩的橙光恋爱游戏,在游戏中玩家们需要扮演
蓬莱手游折相思版 安卓版v1.0.0
蓬莱免广告版是游戏的修改版本,在该版本中为玩家去除了广告,玩
当红影后橙光游戏破解版2025 最新版v1.0
当红影后橙光破解版是一款超级好玩的娱乐圈题材的橙光游戏,在这
忽然成了万人迷清软完结版 无限鲜花版v12.15
忽然成了万人迷破解版是一款非常好玩的男性向橙光游戏,在有一天