在 SQuirrel-sql 中调试 SQL 查询

Posted

技术标签:

【中文标题】在 SQuirrel-sql 中调试 SQL 查询【英文标题】:Debug SQL queries in SQuirrel-sql 【发布时间】:2011-11-25 14:09:13 【问题描述】:

如何在 SQuirrel-sql 中调试 SQL 语句?

我不断收到“无用”错误,例如:

Error: [SQL0104] Token , was not valid. Valid tokens: ) OR.
SQLState:  42601
ErrorCode: -104

我希望能够看到我出错的行号,或者通过其他方式引导我找到问题所在。

我正在 IBMi DB2 数据库上使用 JDBC 驱动程序。

【问题讨论】:

【参考方案1】:

您可以添加“errors=full”属性以获取更详细的错误消息,但仍需要一些解释才能找到准确的语法问题。

请参阅IBM Toolbox for Java JDBC properties 了解更多信息。

正如 Tracy 所提到的,如果您想要交互式语法检查,则必须使用原生 SQL 接口之一,例如绿屏 Start SQL Interactive Session (STRSQL) command 或 IBM i Access Run SQL scripts 工具。

【讨论】:

感谢它提供更多有用的信息。【参考方案2】:

对于问题不明显的此类错误,我喜欢将 SQL 复制并粘贴到 AS/400 的绿屏交互式 SQL 工具中。 (我假设您的数据库服务器是基于您的标签和 IBMi DB2 提及的 AS/400。)命令是 STRSQL。当出现错误时,它会将您的光标放在问题所在的位置。或者,更具体地说,它认为问题出在哪里。它确实需要对 AS/400 的绿屏访问。

【讨论】:

谢谢,我用过STRSQL。 “将 SQL 复制并粘贴到 AS/400 的绿屏中”并不像您想象的那么容易。对于更长的语句,您需要复制多个“块”代码。没有“撤消”按钮的编辑不适合我。 (另一种选择是 RUNSQLSTM 并查看 DSPJOBLOG,然后可能是 SPLF)

以上是关于在 SQuirrel-sql 中调试 SQL 查询的主要内容,如果未能解决你的问题,请参考以下文章

squirrel-sql.jar 操作Phoenix

使用 Java JDBC squirrel-sql 驱动程序连接到 Netezza 失败

CentOS-7.2添加桌面快捷方式

在 MS Access 中管理和调试 SQL 查询

仅在 VS 调试模式下解决 SQL 查询超时

在 SQL 2008 Management Studio 中调试时查询存储过程中的临时表