【发布时间】:2012-10-30 20:54:14
【问题描述】:
我正在尝试使用以下 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;
这个原始的 sn-p(带分号)可以在 SQL Developer 中正常运行。如果我通过 C# 运行原始的 sn-p,我会得到“ora-00911:无效字符”。有什么想法吗?
谢谢, 埃里克
【问题讨论】:
-
尝试在 NOORDER 后面加一个分号。如果这不能解决问题,请尝试将两条语句分开并一次执行一条。