哪位高手能告述我如何在 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;
也不行。高手赐教。
...全文
283 10 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
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
  • 打赏
  • 举报
回复
呵呵,不知道啊
共同学习

17,140

社区成员

发帖
与我相关
我的任务
社区描述
Oracle开发相关技术讨论
社区管理员
  • 开发
  • Lucifer三思而后行
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧