C# 奇数甲骨文错误

C# 奇数甲骨文错误,c#,oracle,C#,Oracle,我对Oracle命令有一个小问题,如下所示: command.CommandText = "SELECT ID, NAME, RATING, LENGTH, STARTTIME FROM SCHEDULE WHERE ID=301 AND ROWNUM=1 AND SCHEDULE.STARTTIME <= SYSDATE ORDER BY STARTTIME DESC;"; command.CommandText=“从计划中选择ID、名称、等级、长度、开始时间,其中ID=301,ROW

我对Oracle命令有一个小问题,如下所示:

command.CommandText = "SELECT ID, NAME, RATING, LENGTH, STARTTIME FROM SCHEDULE WHERE ID=301 AND ROWNUM=1 AND SCHEDULE.STARTTIME <= SYSDATE ORDER BY STARTTIME DESC;";

command.CommandText=“从计划中选择ID、名称、等级、长度、开始时间,其中ID=301,ROWNUM=1,SCHEDULE.STARTTIMEdot not put;在命令末尾,这是命令行工具约定,不是sql本身的一部分(sqlplus也使用/作为终止符)

dot not put;在命令末尾,这是命令行工具惯例,不是sql本身的一部分(例如sqlplus也使用/作为终止符)

名称和Id都是Oracle sql中的特殊关键字。请尝试:

SELECT "ID", "NAME"...

名称和Id都是Oracle SQL中的特殊关键字。请尝试:

SELECT "ID", "NAME"...

删除SQL语句的尾随分号


共享和享受。

删除SQL语句后面的分号



共享并享受。

您能发布完整错误吗?以下:…?执行代码一定有点奇怪。请发布其余错误以及执行命令的整个代码片段。您能发布完整错误吗?以下:…?执行代码一定有点奇怪。请发布其余部分错误和执行命令的整个代码片段。这会导致它说在解析语句时遇到了一个
。@Mike:Oracle的错误消息没有什么帮助。我首先想到的是“语句上可能有一个尾随分号。”“是的,它就在那儿。@BobJarvis,太棒了。现在,OP发布了错误的其余部分,我必须诚实地说,看到这一点,我的心都沉了下去,它毫无价值。@Mike:这都是关于尝试的事情,看看会发生什么。我仍然不得不相信“;”不应该在那里-也许接下来要尝试的是Skulmuk引用ID和名称的想法…SQL很难解析,语法是在“自然语言”流行的高度定义的,因此解析器很难定位错误(Oracle也因错误消息的低质量而臭名昭著)。这会导致它说它在分析语句时遇到了一个
。@Mike:Oracle的错误消息没有什么帮助。我想到的第一件事是“语句上可能有一个尾随的分号”,是的,它就在那里。@BobJarvis,太棒了。现在,OP发布了错误的其余部分,我必须诚实地说,看到这一点,我的心都沉了下去,它毫无价值。@Mike:这都是关于尝试的事情,看看会发生什么。我仍然不得不相信“;”不应该在那里-也许接下来要尝试的是Skulmuk引用ID和名称的想法…SQL很难解析,语法是在“自然语言”流行的高度定义的,因此解析器很难定位错误(Oracle也因错误消息的低质量而臭名昭著)。这会导致它说在解析语句时遇到了一个
?如果我删除后面的分号,我会得到
ORA-00933:SQL命令没有正确结束
。@Mike:正如我在下面指出的,Oracle的消息通常对诊断实际问题没有帮助。在这种情况下,语句末尾的分号可能是罪魁祸首。这会导致它说在解析语句时遇到了一个
?如果我删除后面的分号,我会得到
ORA-00933:SQL命令没有正确结束
@Mike:正如我在下面提到的,甲骨文的信息通常对诊断实际问题没有帮助。在这种情况下,语句末尾的分号可能是罪魁祸首。我已经尝试过了,并结合Bob的建议,get
ORA-00933:SQL命令未正确结束
将“;”添加回语句,并确保列的大写字母与“ID”的定义匹配区分大小写。这可能是个问题,但是
ID
NAME
是(谢天谢地,因为大部分数据库表都有
ID
列:)我已经尝试过了,结合Bob的建议,get
ORA-00933:SQL命令没有正确结束
添加“;”回到语句,确保列的大写与定义匹配,因为“ID”区分大小写。这可能是个问题,但
ID
NAME
是(谢天谢地,因为大部分数据库表都有
ID
列:)
SELECT "ID", "NAME"...