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