如何找出 datagrip 中的 ORA-00900 无效 SQL 语句

Posted

技术标签:

【中文标题】如何找出 datagrip 中的 ORA-00900 无效 SQL 语句【英文标题】:How can I figure out ORA-00900 invalid SQL statement in datagrip 【发布时间】:2017-09-07 03:41:15 【问题描述】:

一般情况下,在 SQL*PLUS 中使用show errors 可以解决这个问题。

但是在datagrip中执行show errors会显示Nothing to run,并且执行具有无效SQL语句的过程只会显示错误invalid SQL statement

所以我无法弄清楚我的程序出了什么问题。

顺便说一句,我使用的是 macOS,所以在 Windows 中配置 Oracle 环境有点麻烦。

感谢您的帮助。

【问题讨论】:

也许你可以尝试通过以管理员身份连接sqlplus来运行“/rdbms/admin/utlrp.sql”来查看无效语句或对象 您使用的是哪个版本的 Oracle 数据库? 【参考方案1】:

show errors 是 SQL*Plus 命令,而不是 SQL 语句。即使是专门用于 Oracle 的 IDE(例如 PLSQL Developer)也无法在其 SQL 工作表中识别它,因此通用数据库 IDE 的出现也就不足为奇了。也许 DataGrip 可以选择关联命令行可执行文件以运行脚本?

show errors 只是对 data_dictionary 查询的包装。您可以在任何 SQL 环境中自己执行此操作:

 select e.line, e.position, e.text 
 from user_errors e
 where e.name = 'YOUR_PROCEDURE'
 order by e.sequence;

数据字典视图具有您可能想要使用的其他属性。 Find out more。

【讨论】:

以上是关于如何找出 datagrip 中的 ORA-00900 无效 SQL 语句的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 DataGrip 中的字符集?

如何在 DataGrip 中的现有文本周围添加引号?

如何在 DataGrip 中打印查询结果?

更改 Datagrip 中的命名约定

如何从 DataGrip 导出/导入数据源?

如何在 DataGrip(Exasol 方言)上的 SQL 查询中使用变量?