在 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 查询的主要内容,如果未能解决你的问题,请参考以下文章