Как вызвать хранимую процедуру DB2 из C #? - PullRequest
1 голос
/ 25 июня 2010

Я использую DB2 9.7 для 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 = ...

1 Ответ

1 голос
/ 28 июня 2010

Нет перечисления DB2Type для наборов результатов.В их API вы можете выполнить команду с помощью метода DB2Command.ExecuteReader.Возможно, вам придется изменить PL / SQL на функцию, которая возвращает sys_refcursor, а не на процедуру, имеющую параметр sys_refcursor.

...