You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

cx_Oracle执行DBeaver可运行的Oracle SQL报ORA-00933错误求助

ORA-00933报错排查方案
  • 第一优先级排查:删除SQL末尾的分号
    DBeaver这类数据库客户端默认支持SQL语句末尾用分号作为结束标识,但cx_Oracle执行单条SQL语句时,不允许末尾携带分号,这是该类跨环境执行报错最常见的诱因。你可以先把SQL最后的;删除后重新执行测试。
  • 第二优先级排查:检查Python中SQL字符串的拼接正确性
    如果你在Python代码中是通过多行字符串拼接的方式组装该SQL,需要确认拼接过程中没有出现前后行语句直接粘连的问题,比如前一行末尾没有空格、后一行直接跟上就会出现语法断裂,例:"select * from test""where id=1"会被拼接为非法语句select * from testwhere id=1。
    你可以在执行SQL前把最终拼接完成的SQL字符串打印出来,复制到DBeaver中执行,如果DBeaver也报错,就说明是拼接过程导致的语法问题。
  • 第三优先级优化:调整日期格式写法避免会话参数差异
    你当前SQL中使用的to_date('26-JUL-2021')写法依赖数据库的NLS_DATE_LANGUAGE会话参数,DBeaver和cx_Oracle的会话参数可能存在差异,虽然这类问题通常不会触发ORA-00933报错,但为了兼容性建议调整为和语言无关的写法:to_date('2021-07-26', 'yyyy-mm-dd')。

如果以上排查都没有解决问题,可以把Python中执行SQL的相关代码片段贴出来进一步定位。

内容的提问来源于stack exchange,提问作者dohan_rivas

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 21:54:03