1

我正在尝试使用以下 C# 代码执行一些 sql:

IDbCommand objOracleCommand = CreateCommand(commandPart, connection, transaction);
objOracleCommand.ExecuteNonQuery();

我收到“ORA-00933:SQL 命令未正确结束”错误。

commandPart 是一个字符串,如下所示:

CREATE SEQUENCE seq_1
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOMINVALUE
NOCACHE
NOCYCLE
NOORDER

CREATE SEQUENCE seq_2 START WITH 1 INCREMENT BY 1

commandPart 实际上是从文本文件中读取的。原始 SQL 有分号,如下所示:

CREATE SEQUENCE seq_1
INCREMENT BY 1
START WITH 1
NOMAXVALUE
NOMINVALUE
NOCACHE
NOCYCLE
NOORDER;

CREATE SEQUENCE seq_2 START WITH 1 INCREMENT BY 1;

这个原始片段(带有分号)在 SQL Developer 中运行得很好。如果我通过 C# 运行原始片段,我会得到“ora-00911:无效字符”。有任何想法吗?

谢谢,埃里克

4

1 回答 1

2

您的命令部分由两个命令组成。Oracle 很困惑,因为它只需要一个命令。

您需要分别执行 ( ExecuteNonQuery) 这两个命令。

于 2012-10-30T21:02:05.993 回答