C# Oracle 执行多条 insert 问题

ayumilove 2012-05-25 11:49:17
        private void EXT_SQL_TEST()
{
string strMsg = "OK";

try
{
StringBuilder strSql = new StringBuilder();

strSql.Append(" BEGIN; ");
strSql.Append(" INSERT INTO Order_Main (UUID) values (6); ");
strSql.Append(" INSERT INTO Order_Main (UUID) values (7); ");
strSql.Append(" INSERT INTO Order_Main (UUID) values (8); ");
strSql.Append(" INSERT INTO Order_Main (UUID) values (9); ");
strSql.Append(" END; ");


OracleHelper.ExecuteNonQuery(oradb, CommandType.Text, strSql.ToString());
}
catch (Exception ex)
{
strMsg = ex.ToString();
}
if (strMsg != "OK")
{
MessageBox.Show(strMsg);
}
else
{

}
}



错误提示
System.Data.OracleClient.OracleException: ORA-06550: 第 1 行, 第 7 列: 
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
符号 \"exit\" 被替换为 \";\" 后继续。
at System.Data.OracleClient.OracleConnection.CheckError(OciErrorHandle errorHandle, Int32 rc)
at System.Data.OracleClient.OracleCommand.Execute(OciStatementHandle statementHandle, CommandBehavior behavior, Boolean needRowid, OciRowidDescriptor& rowidDescriptor, ArrayList& resultParameterOrdinals)
at System.Data.OracleClient.OracleCommand.ExecuteNonQueryInternal(Boolean needRowid, OciRowidDescriptor& rowidDescriptor)
at System.Data.OracleClient.OracleCommand.ExecuteNonQuery()


查询网上有个帖子 说类似的问题。
http://blog.csdn.net/wyzxg/article/details/4761589
http://topic.csdn.net/t/20040607/15/3070702.html

难道这个问题用MS的 System.Data.OracleClient;真的解决不了吗?
...全文
395 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
ayumilove 2012-05-31
  • 打赏
  • 举报
回复
恩,后来才发现。

受到网上帖子的误导,一直以为 是别的问题,
没注意 begin 后面。

chengzq 2012-05-25
  • 打赏
  • 举报
回复
begin后面不能有分号, 换用oracle 提供的provider试试。
ycproc 2012-05-25
  • 打赏
  • 举报
回复

你的StringBuilder 拼接出来的东西到最后你知道是什么吗?
你拿到 PLSQL里面能执行吗?

明显的SQL 问题
core0 2012-05-25
  • 打赏
  • 举报
回复
begin后需要加分号吗?
cnfixit 2012-05-25
  • 打赏
  • 举报
回复
1、循环+事务
2、OCI……
3、木有想到

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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