如何调用Oracle存储过程?

来源:asp之家 时间:2009-11-15 20:13:00 

请问如何在ASP中使用ADO调用Oracle的存储过程?

我们可以在下面的代码里使用微软Oracle 的OLE DB Provider ,包括说明:

<%@ LANGUAGE="VBSCRIPT" %>
<%
      adCmdUnknown = 0
      adCmdText = 1
      adCmdTable = 2
      adCmdText = 1
      adParamInput = 1
      adParamOutput = 2
      adInteger = 3
      adUseClient = 3
      adOpenStatic = 3
      ' 常量
      Dim cnnOracle
      Dim cmdStoredProc
      Dim rsEmp
      Set cnnOracle = Server.CreateObject("ADODB.Connection")
      cnnOracle.CursorLocation = adUseClient
      ' 创建连接对象
      'strConn = "DSN=OracleDSN; UID=UserID; PWD=Password"
      ' 系统DSN连接
      strConn = "DRIVER={Microsoft ODBC for Oracle}; SERVER=DatabaseAlias; UID=UserID; PWD=Password"
        ' DSN-less 连接,DatabaseAlias是在SQL*Net Easy Configuration 或Net8里创建的名字
      'strConn = "Provider=MSDAORA.1; Data Source=DatabaseAlias; User ID=UserID; Password=Password"
       ' OLE DB 连接
      cnnOracle.Open strConn
      Set cmdStoredProc = Server.CreateObject("ADODB.Command")
      Set cmdStoredProc.ActiveConnection = cnnOracle
      ' 创建一个命令对象
      'cmdStoredProc.CommandText = "{call packperson.oneperson(?,{resultset 2, ssn, fname, lname})}"
      'cmdStoredProc.CommandType = adCmdText
     'cmdStoredProc.Parameters.Append cmdStoredProc.CreateParameter("wildcard",adInteger, adParamInput)
      ' 只检索一条记录
      cmdStoredProc.CommandText = "{call packperson.allperson({resultset 9, ssn, fname, lname})}"
      cmdStoredProc.CommandType = adCmdText
      ' 检索所有记录
      Set rsEmp = Server.CreateObject("ADODB.Recordset")
      rsEmp.CursorType = adOpenStatic
      ' 创建记录集对象
      Set rsEmp.Source = cmdStoredProc
     'cmdStoredProc(0) = 555662222
    ' 为只获取一条记录设置参数
      rsEmp.Open
%>
<HTML>
<HEAD>
<META NAME="GENERATOR" Content="Microsoft Visual InterDev 6.0">
<META HTTP-EQUIV="Content-Type" content="text/html; charset=iso-8859-1">
<TITLE>精彩春风之调用Oracle存储过程</TITLE>
</HEAD>
<BODY>
<%
      While Not rsEmp.EOF
            Response.Write(rsEmp(0) & "&#xa0;" & rsEmp(1) & " " & rsEmp(2) & "<BR>")
            rsEmp.MoveNext
           ' 遍历记录集并显示数据
      Wend
      rsEmp.Close
      cnnOracle.Close
     ' 关闭记录集和连接
      Set cmdStoredProc = nothing
      Set rsEmp = nothing
      Set cnnOracle = nothing
%>
</BODY>
</HTML> 

标签:oracle,数据库,存储过程
0
投稿

猜你喜欢

  • pywinauto自动化操作记事本

    2021-07-19 03:01:57
  • Mysql 忘记root密码的完美解决方法

    2024-01-18 14:31:05
  • Microsoft Office Access 2007使用技巧

    2008-05-23 13:23:00
  • python Tkinter版学生管理系统

    2021-03-11 11:07:48
  • python 安装库几种方法之cmd,anaconda,pycharm详解

    2021-05-23 14:19:58
  • 用python修改excel表某一列内容的操作方法

    2022-01-22 20:51:29
  • 使用Eclipse如何开发python脚本

    2022-06-25 12:41:39
  • python实现WebSocket服务端过程解析

    2022-09-14 10:45:19
  • JS实现常用导航鼠标下经过下方横线自动跟随效果

    2024-04-17 10:11:55
  • Python实战小程序利用matplotlib模块画图代码分享

    2021-08-27 18:31:47
  • Python多线程:主线程等待所有子线程结束代码

    2021-03-18 05:31:53
  • coreseek 搜索英文的问题详解

    2023-11-20 14:12:10
  • js实现网页加载loading的显示

    2007-11-06 12:11:00
  • 详尽解析javascript的event对象

    2008-01-16 11:27:00
  • GoLang bytes.Buffer基础使用方法详解

    2024-04-27 15:28:09
  • Python海龟turtle基础知识大全以及画图集合实例

    2022-05-01 08:12:34
  • Oracle PL/SQL入门慨述

    2010-07-18 12:57:00
  • ASP.NET中MVC从后台控制器传递数据到前台视图的方式

    2023-06-29 07:09:39
  • Python实战之自动发送邮件的实现

    2023-10-18 15:09:43
  • Python matplotlib底层原理解析

    2021-05-11 07:05:29
  • asp之家 网络编程 m.aspxhome.com