c#调用oracle存储过程问题
存储过程(在PLSQL中调试没错):
create or replace procedure PROC_StudentInfo_SEL(studentid varchar2,
studentinfo OUT SYS_REFCURSOR) is
begin
open studentinfo for
select * from scott.student where scott.student.studentid = studentid;
end PROC_StudentInfo_SEL;
C#程序:
_conn.Open();
ConnectionState state = _conn.State;
_command = new OracleCommand();
_command.Connection = _conn;
//_command.Transaction = _conn.BeginTransaction();
_command.CommandType = CommandType.StoredProcedure;
_command.CommandText = "Scott.PROC_StudentInfo_SEL";
OracleParameter para = new OracleParameter("studentid", OracleType.VarChar, 2000);
para.Direction = ParameterDirection.Input;
para.Value = "001";
_command.Parameters.Add(para);
para = new OracleParameter("studentinfo", OracleType.Cursor);
para.Direction = ParameterDirection.Output;
_command.Parameters.Add(para);
OracleDataAdapter adapter = new OracleDataAdapter(_command);
DataTable table = new DataTable();
adapter.Fill(table);
打开数据库也没问题,执行到adapter.fill时,出现错误:
ORA-06550: 第 1 行, 第 7 列:
PLS-00201: 必须声明标识符 'SCOTT.PROC_STUDENTINFO_SEL'
ORA-06550: 第 1 行, 第 7 列:
PL/SQL: Statement ignored
请教各位高手,这是什么问题。