关于oracle:ORA-00933:SQL命令未正确结束
ORA-00933: SQL command not properly ended我正在使用OLEDB提供程序来连接到Oracle数据库的ADO.Net。 在我的循环中,我正在执行插入操作:
第一个插入成功,但是第二个插入错误:
我究竟做错了什么? 在.net中,当我们尝试执行一个以分号结尾的Oracle SQL语句时。结果将是一个oracle错误:ora-00911:无效字符。好的,您发现一个SQL语句不需要分号,但是例如在一个字符串中执行2条SQL语句呢?
上面的代码将给您同样的Oracle错误:ora-00911:无效字符。
解决此问题的方法是使用
礼貌:http://www.lazyasscoder.com/Article.aspx?id=89&title=ora-00911%3A+invalid+character+when+executing+multiple+Oracle+SQL+statement 在Oracle中,分号';'仅在sqlplus中使用。在使用ODBC / JDBC,OLEDB等时,请不要在语句的末尾添加分号。在上述情况下,您实际上在执行2条不同的语句,因此处理该问题的最佳方法是使用2条语句,而不是尝试合并为一条语句,因为您不能使用分号。
对我来说,您似乎在两个语句之间缺少了 第一次插入后的半结肠? Oracle SQL使用分号;作为语句结束标记。 您将需要添加;;在插入语句之后。 注意:这还假定ADODB在一次调用中将允许2次插入。 另一种选择是将两个调用都包装在一个块中,
在我的循环中,我没有重新初始化StringBuilder ...因此我发布了多个insert语句。 还是要谢谢你的帮助!! 问题可能是您有一个参数变量,该变量为null插入查询中。那就是我的问题。一旦为参数指定了空字符串的默认值,它就会起作用。 除了分号问题,我强烈建议您研究绑定变量。未能使用它们可能会导致数据库性能问题。该代码也倾向于更简洁。 ADO.NET OLE DB提供程序用于常规数据访问,而您没有数据库的特定提供程序。对于Oracle数据库连接,优先于OleDbConnection使用OracleConnection等。 OLE_DB是否需要分号?大多数API都不需要它吗? 这是一个远景,但是在第一个插入中,sql日期格式对英国和美国均有效,如果Oracle DB设置为英国日期格式,则第二个插入无效,我意识到您已经使用了TO_DATE函数,但我没有看到其他... |
相关内容
-
金蝶里面的月末期末调汇|金蝶K3财务软件的结账
金蝶里面的月末期末调汇|金蝶K3财务软件的结账里面的期末调...
-
金蝶期末调汇怎么处理|金蝶K3财务软件的结账里
金蝶期末调汇怎么处理|金蝶K3财务软件的结账里面的期末调汇...
-
win7系统电脑要求|win7操作系统配置要求
win7系统电脑要求|win7操作系统配置要求,,1. win7操作系统配置...
-
cad逐点标注快捷键|cad的逐点标注命令
cad逐点标注快捷键|cad的逐点标注命令,,cad的逐点标注命令工具...
-
针灸科设置|针灸科常见操作
针灸科设置|针灸科常见操作,,1. 针灸科常见操作⒈临床实践技能...
-
如何解决errtor加载操作系统的引导
如何解决errtor加载操作系统的引导,,电脑启动后,屏幕上出现了er...
-
cad快捷键命令|cad快捷键命令大全标注
cad快捷键命令|cad快捷键命令大全标注,,cad快捷键命令大全标注...
-
萤石设置方法|萤石操作手册下载
萤石设置方法|萤石操作手册下载,,1. 萤石操作手册下载寻找验证...
-
矩形cad快捷键|CAD矩形命令快捷键
矩形cad快捷键|CAD矩形命令快捷键,,CAD矩形命令快捷键CAD软件...
-
cad重复复制快捷键|cad连续复制快捷键命令
cad重复复制快捷键|cad连续复制快捷键命令,,1. cad连续复制快...
-
金蝶迷你版现金流量表操作教程|KIS迷你版现金流
金蝶迷你版现金流量表操作教程|KIS迷你版现金流量表的怎样操...
-
cmd命令快捷键|cmd快捷键大全
cmd命令快捷键|cmd快捷键大全,,cmd快捷键大全首先介绍第一种方...
-
金蝶旗舰版物料怎样添加|金蝶k3怎么新增物料?具
金蝶旗舰版物料怎样添加|金蝶k3怎么新增物料?具体操作是什么...
-
cad布局常用快捷键|cad布局常用快捷键命令
cad布局常用快捷键|cad布局常用快捷键命令,,1. cad布局常用快...
-
电脑如何保持速度|如何提高电脑操作速度
电脑如何保持速度|如何提高电脑操作速度,,如何提高电脑操作速...