哪位高手能告述我如何在 C# 中执行Oracle的PL/SQL语句?

zahuifan 2005-06-10 04:51:31
下面的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;
也不行。高手赐教。
...全文
230 10 打赏 收藏 举报
写回复
10 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
zahuifan 2005-06-14
怎么没一个人会,高手在那里?
分只给真正的高手。
  • 打赏
  • 举报
回复
rolandzhang 2005-06-13
估计是单引号、分号的识别问题。
如果是单个的sql语句,可以,用.CommandText,如果是多条sql语句或者是pl/sql块,还是用存储过程写好,用C#调用(可以传入、传出参数)
  • 打赏
  • 举报
回复
mathsword 2005-06-10
用存储过程!
  • 打赏
  • 举报
回复
chenzhanyiczy 2005-06-10
就算行,这样写有什么用?
  • 打赏
  • 举报
回复
conan19771130 2005-06-10
如果oracle可以,为何不试试存储过程啊
  • 打赏
  • 举报
回复
lovefootball 2005-06-10
你为啥不把这些命令写成存储过程啊?然后直接调用存储过程多方便啊?
  • 打赏
  • 举报
回复
lovefootball 2005-06-10
你把string 改成
string str = "eclare name varchar2(50); Begin name := 'jcl'; end";
试试

我在plsql里面
declare
name varchar2(50);
begin
name := 'jcl';
end;

这样写是可以的,没有错误
  • 打赏
  • 举报
回复
xinbin1122 2005-06-10
upup
  • 打赏
  • 举报
回复
ahyf 2005-06-10
:=
=
??
  • 打赏
  • 举报
回复
qinjin2000 2005-06-10
呵呵,不知道啊
共同学习
  • 打赏
  • 举报
回复
相关推荐
发帖
Oracle

1.6w+

社区成员

Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
帖子事件
创建了帖子
2005-06-10 04:51
社区公告
暂无公告