如何调用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
投稿

猜你喜欢

  • 如何使用数据绑定控件实现不换页提交数据?

    2010-05-16 15:17:00
  • 如何判断URL格式是否符合规范?

    2010-01-12 20:14:00
  • PHP中合并数组的常见方法分享

    2023-05-25 12:02:48
  • DBA应当了解的MySQL客户端程序启动选项

    2009-01-04 13:00:00
  • 在ASP应用程序中加入智能搜索

    2007-09-18 13:15:00
  • 巧用MySQL InnoDB引擎锁机制解决死锁问题

    2008-12-19 17:24:00
  • IE9初窥:支持CSS3,和HTML5?

    2009-12-01 14:20:00
  • asp 静态页面的另一种思路

    2011-04-08 10:32:00
  • SQL Server数据库服务器高性能设置

    2010-11-25 16:00:00
  • VBScript中变量作用域

    2007-11-02 10:03:00
  • 在ASP中使用SQL语句之10:视图

    2007-08-11 13:24:00
  • 从SNS看社会化界面设计(一)

    2009-02-23 12:21:00
  • javascript基础之indexOf函数

    2008-06-25 13:28:00
  • Asp+Sql 对数据库的各种操作

    2007-09-22 10:38:00
  • centos 安装mysql中遇到问题的解决办法

    2010-12-14 15:11:00
  • MYSQL 字符串操作

    2008-11-13 12:34:00
  • 让文本框textarea自动适应内容的高度

    2008-07-01 14:44:00
  • 【JavaScript实用系列】-- 胖页面载入效果

    2009-10-19 22:48:00
  • 将滚动条(scrollbar)保持在最底部的方法

    2008-02-21 10:05:00
  • 用ASP木马实现FTP和解压缩

    2008-02-13 08:47:00
  • asp之家 网络编程 m.aspxhome.com