我使用DB2 9.7 for Linux。存储过程在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 = ...
答案 0 :(得分:1)
结果集没有DB2Type枚举。在他们的API中,执行此操作的方法是使用DB2Command.ExecuteReader方法执行该命令。您可能必须将PL / SQL更改为返回sys_refcursor的函数,而不是具有sys_refcursor参数的过程。