【发布时间】:2015-03-05 08:08:14
【问题描述】:
我有以下代码
using (OracleConnection con = new OracleConnection())
{
con.ConnectionString = My_connection_string;
FileInfo file = new FileInfo(Server.MapPath("~/Scripts/call_proc.sql"));
string script = file.OpenText().ReadToEnd();
con.Open();
OracleCommand cmd = new OracleCommand(script, con);
cmd.CommandType = CommandType.StoredProcedure;
cmd.BindByName = true;
cmd.ExecuteNonQuery();
}
call_proc 代码是 //返回你好
set serveroutput on;
begin
test.tmp_test();
end;
当我尝试运行上面的代码时,它给了我以下错误。
ORA-06550:第 1 行,第 11 列:PL/SQL:ORA-00922:缺失或无效 选项 ORA-06550:第 1 行,第 7 列:
【问题讨论】:
-
set serveroutput on; 对 PL/SQL 无效。
-
@Sathya 如果我删除服务器输出;然后我收到以下错误。 ORA-06550:第 1 行,第 12 列:PLS-00103:在预期以下情况之一时遇到符号“”:
-
你真的需要使用文件吗?您不能只使用带有过程名称的
OracleCommand吗?示例:new OracleCommand("test.temp_test", con); -
@FelipeOriani 我试过这个并给了我以下错误。 ORA-06550:第 1 行,第 7 列:PLS-00801:内部错误 [22503] ORA-06550:第 1 行,第 7 列:
-
@Sathya,你需要检查你的SP是否编译成功。
标签: c# oracle plsql ado.net sqlplus