c#调用oracle存储过程问题

zbluestar zbluestar 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
存储过程(在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

请教各位高手,这是什么问题。
...全文

相关推荐

评论 3
收藏 已收藏
分享
返回顶部
zbluestar
基础和管理 17,377 成员 95,111 内容