Я пытаюсь вызвать процедуру хранилища с выходным параметром как sys_refcursor через мой код C#. Но он постоянно выдает мне ошибку, говоря: "ORA-01036: незаконное имя переменной/номер"
Я пытаюсь вызвать процедуру хранилища с выходным параметром как sys_refcursor через мой код C#. Но он постоянно выдает мне ошибку, говоря: "ORA-01036: незаконное имя переменной/номер"
Я использую.NET framework 2.0 и System.Data.OracleClient для подключения базы данных Oracle.
Есть ли что-то, что я упускаю?
Заранее спасибо
Что я уже пробовал:
I am writing here the C# and SP which I am using. C# Code:
Public DataTable ExecuteReport(ReportFilters filterAttribute) { DataTable dtDetailedReport = new DataTable(); using (OracleConnection conn = new OracleConnection()) { conn.ConnectionString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; OracleCommand cmd = new OracleCommand(); cmd.Connection =conn; cmd.CommandText = "count_emp_by_dept"; cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add("pin_no", OracleType.VarChar, 200).Value = filterAttribute.PIN; cmd.Parameters.Add("pResult ", OracleType.Cursor).Direction = ParameterDirection.Output; OracleDataAdapter adap =new OracleDataAdapter(cmd); adap.Fill(dtDetailedReport); conn.Close(); } return dtDetailedReport; }
SP, который я использую
Ceate or replace procedure count_emp_by_dept(pin_no Varchar2, pResult out sys_refcursor) is begin open pResult for select pinname from TOC2_Test where pin = pin_no; end count_emp_by_dept;