存储过程中返回TABLE类型数据: 
TYPE tName is TABLE of  VARCHAR2(50) INDEX BY BINARY_INTEGER;  用ADO使用MSDAORA.1驱动调用没有问题. 由于特殊原因需改用oraoledb.oracle驱动.改如何调用PROCEDURE返回TABLE类型数据. 谢谢!

解决方案 »

  1.   

    数据库的打开用下面的语句搞定
    环境ORACLE 9.0I,ASP语句
    set conn = server.CreateObject("adodb.connection")
    conn.ConnectionString = "Provider=OraOLEDB.Oracle;Data Source=myDB;User Id=user;Password=user"
    conn.Open
      

  2.   

    楼上, 用OraOLEDB.Oracle连接数据库我清楚,并且运行标准SQL语句都正常,我需要的是调用存储过程返回TABLE类型数据. 例如:CREATE OR REPLACE PACKAGE packperson
      AS
        TYPE tssn is TABLE of  NUMBER(10)
        INDEX BY BINARY_INTEGER;
        TYPE tfname is TABLE of VARCHAR2(15)
        INDEX BY BINARY_INTEGER;
        TYPE tlname is TABLE of VARCHAR2(20)
        INDEX BY BINARY_INTEGER;    PROCEDURE allperson
                (ssn    OUT     tssn,
                 fname  OUT     tfname,
                 lname  OUT     tlname);
    以上过程用OraOLEDB.Oracle驱动应该如何处理输出参数. 我试过以下代码不行,运行出现场会议0004005错误:    COM.Parameters.Append COM.CreateParameter("fname", adVarChar Or adArray, adParamOutput, 50)