如何在ASP里通过ado连接ORACLE(例如ORACLE816,ORACLE9I),是不是需要更新ADO组件?如何用ADODB.Stream读出带有返回结果集的ORACLE存储过程所返回的结果集?

解决方案 »

  1.   

    操作oracle强烈建议使用oo4o
    在oracle的安装目录下可以找到很多例子
      

  2.   

    在ado中调用oracle的存储过程,可以看看msdn在查找
    栏输入oracle procedure可以找到你想要的。
      

  3.   

    set conn=server.create("adodb.connection")
    conn.open "Provider=MSDAORA.1;Password=...;User ID=...;Data Source=...;Persist Security Info=True;"
    set rs=server.create("adodb.recordset")
    rs.cursorlocation=3
    sql="select * from tablename"
    rs.open sql,conn
    if rs.recordcount then
    ...
    else
    ..
    end if
      

  4.   

    在oracle:
    CREATE TABLE student
     (
      id                         NUMBER,
      name                       VARCHAR2(30),
      sex                        VARCHAR2(10),
      address                    VARCHAR2(100),
      postcode                   VARCHAR2(10),
      birthday                   DATE,
      photo                      LONG RAW
     );CREATE OR REPLACE PACKAGE pkg_test
    AS
       TYPE myrctype IS REF CURSOR;   PROCEDURE get (p_id NUMBER, p_rc OUT myrctype);
    END pkg_test;
    /CREATE OR REPLACE PACKAGE BODY pkg_test
    AS
       PROCEDURE get (p_id NUMBER, p_rc OUT myrctype)
       IS
          sqlstr   VARCHAR2 (500);
       BEGIN
          IF p_id = 0 THEN
             OPEN p_rc FOR
                SELECT ID, NAME, sex, address, postcode, birthday
                  FROM student;
          ELSE
             sqlstr :=
                'select id,name,sex,address,postcode,birthday
               from student where id=:w_id';
             OPEN p_rc FOR sqlstr USING p_id;
          END IF;
       END get;
    END pkg_test;
    /在asp中:
    <%@LANGUAGE="VBSCRIPT"%> 
    <!--#include file="Connections/conn.asp" -->
    <% 
    set cm1 = Server.CreateObject("ADODB.Command")
    cm1.ActiveConnection = MM_conn_STRING
    cm1.CommandType = 1
    cm1.CommandTimeout = 0
    cm1.Prepared = true
    cm1.CommandText = "{call pkg_test.get(?)}"
    set para = cm1.Parameters
    para.Append cm1.CreateParameter("p_id",3,1,,1)

    set rs = Server.CreateObject("ADODB.Recordset")set rs=cm1.Execute  
    %>