传递多个oracle PL \ SQL块的C#获取“遇到符号/”

时间:2014-04-08 10:21:35

标签: c# sql oracle plsql

我试图传递oracle PL \ SQL脚本由多个块(开始/结束)组成。 以下示例代码适用于SqlDev,但不适用于C#。

BEGIN 
  DBMS_OUTPUT.PUT_LINE(TO_CHAR(SYSDATE()) || ' Block1');
END;
/

BEGIN
   DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE()) || ' Block2');
END;

C#代码:

var str = @"
begin 
    DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE()) || ' Block1'); 
end;
/
begin 
    DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE()) || ' Block2');
end;
";
str = str.Replace(Environment.NewLine, "\n");
ExecuteNonQueryThis(str2)

我得到的错误:

ORA-06550: line 5, column 1: PLS-00103: Encountered the symbol "/" 

甚至可以通过C#执行Oracle的多块脚本吗?

1 个答案:

答案 0 :(得分:0)

将其包装成一个开头

var str = @"
begin

begin 
    DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE()) || ' Block1'); 
end;

begin 
    DBMS_OUTPUT.put_line(TO_CHAR(SYSDATE()) || ' Block2');
end;

end;";