• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    Asp Oracle存储过程返回结果集的代码
    经过摸索和实践,我把自己的解决方法,写在下面:
    说明:
    我的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
    上一篇:ASP ajax分页教程一
    下一篇:XMLHttp ASP远程获取网页内容代码
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    Asp Oracle存储过程返回结果集的代码 Asp,Oracle,存储,过程,返回,