1

我在 Linux 上使用 DB2 9.7。存储过程是用PL/SQL(Oracle 的编程语言)实现的,因此,记录集是一个输出参数(SYS_REFCURSOR)。

CREATE OR REPLACE PROCEDURE TEST_CURSOR (
  CV_1 OUT SYS_REFCURSOR
) IS
BEGIN
    OPEN CV_1 FOR
    SELECT 1 COLUMN
      FROM DUAL;
END TEST_CURSOR;

我不知道如何在我的 C# 代码中声明这个参数。

DB2Parameter parameter = ((DB2Command)command).CreateParameter();

parameter.ParameterName = "cv_1";
parameter.Direction = ParameterDirection.Output;
parameter.DbType = ...
4

1 回答 1

1

结果集没有 DB2Type 枚举。在他们的 API 中,您执行此操作的方式是使用 DB2Command.ExecuteReader 方法执行命令。您可能必须将 PL/SQL 更改为返回 sys_refcursor 的函数,而不是具有 sys_refcursor 参数的过程。

于 2010-06-27T21:37:56.167 回答