哪位高手能告述我如何在 C# 中执行Oracle的PL/SQL语句?
下面的PL/SQL 语句在 SQL PLUS 中是可以正常执行的,可是我把它放在C#中执行,就会出现错误
ORA-06550: 第 1 行, 第 6 列: PLS-00103: 出现符号 ""在需要下列之一时: begin case declare exit for goto if loop mod null pragma raise return select update while with <an identifier> <a double-quoted delimited-identifier> <a bind variable> << close current delete fetch lock insert open rollback savepoint set sql execute commit forall merge <a single-quoted SQL string> pipe
代码为:
OracleConnection conn = new OracleConnection("user id=performance_test;data source=tst;password=pt");
StringWriter cmdText = new StringWriter();
cmdText.WriteLine("begin");
cmdText.WriteLine(" declare");
cmdText.WriteLine(" name varchar2(50); ");
cmdText.WriteLine(" begin");
cmdText.WriteLine(" name := 'jcl';");
cmdText.WriteLine(" end;");
cmdText.WriteLine("end;");
OracleCommand cmd = conn.CreateCommand();
cmd.CommandType = CommandType.Text;
cmd.CommandText = cmdText.ToString();
OracleString rowid = new OracleString();
cmd.Connection.Open();
cmd.ExecuteNonQuery();
//cmd.ExecuteOracleNonQuery(out rowid);
cmd.Connection.Close();
把PL/SQL语句改为
declare
name varchar2(50);
begin
name := 'jcl';
end;
也不行。高手赐教。