У меня есть функция Oracle, которая принимает входной параметр и возвращает курсор. Я использую C# для вызова функции Oracle, однако я не могу получить курсор.Вызвать функцию oracle, которая возвращает курсор
Мой Oracle вызов функции выглядит следующим образом: -
select TBL_POWER_VIEW.GET_POWER_ID('V') FROM DUAL;
Мой C# Кодекс:
conn = new OracleConnection(OracleServer);
conn.Open();
OracleCommand cmd = new OracleCommand();
cmd.CommandText = "TBL_POWER_VIEW.GET_POWER_ID";
cmd.CommandType = CommandType.StoredProcedure;
cmd.Connection = conn;
OracleParameter powerId = new OracleParameter("i_power_flg", OracleDbType.Varchar2);
powerId.Direction = ParameterDirection.Input;
powerId.Value = 'L';
cmd.Parameters.Add(powerId);
OracleParameter oraP = new OracleParameter();
oraP.ParameterName = "TEST_CURSOR";
oraP.OracleDbType = OracleDbType.RefCursor;
oraP.Direction = System.Data.ParameterDirection.Output;
cmd.Parameters.Add(oraP);
OracleDataAdapter adapter = new OracleDataAdapter();
adapter.SelectCommand=cmd;
DataSet ds = new DataSet();
adapter.Fill(ds);
Ошибка стека выглядит следующим образом: -
Первый шанс исключение Тип «Oracle.DataAccess.Client.OracleException» произошел в Oracle.DataAccess.dll
Oracle.Dat aAccess.Client.OracleException ORA-06550: строка 1, столбец 7:
PLS-00306: неверное число или типы аргументов в вызове к 'TEST_CURSOR'
ORA-06550: строка 1, столбец 7:
PL/SQL : Заявление игнорировали
https://www.google.com/search?client=safari&rls=en&q=googlr&ie=UTF-8&oe=UTF -8 # safe = off & q = ado.net + oracle + cursor –