GBase 8s 使用dbaccess工具调试SQL语句

GBase 8s的客户端工具相对缺乏,通过jdbc客户端工具也仅显示语法错误号码,而不具体指明实际位置。
而GBase 8s所自带的dbaccess工具能较好的显示实际位置。
以下示例的方式使用dbaccess调试SQL语句,语句已经写在1.sql文件中。

1,在命令行下,dbaccess登陆需要调试SQL所在的库

[gbasedbt@bd temp]$ dbaccess sysmaster

2, 在dbaccess界面中执行Query-language

01.png

3, 选择Choose 当前目录下的1.sql (显示为不带.sql后缀的1)

02.png

4, 加载1.sql的内容到当前界面下,执行操作Run

03.png

5, 当前sql语句有错误,切换到Modify菜单,执行修改操作。

可以看到最下面的错误提示:-201错误(语法错误),同时光标定位在错误的位置。
04.png
这里可以看到是"odb dbname" 少打了下划线,导致做分隔成了两个字符,造成语法错误,修改为正确的"odb_dbname"。 修改完成后 ESC 退出 Modify 状态。

6, 再次执行操作Run, 当前sql语句仍有错误,切换到Modify菜单,执行修改操作。

可以看到最下面的错误提示:26901错误(不可以别名再别名),同时光标定位在错误的位置。
05.png
这里可以看到"syssessions a ss"导致了歧义,应为"syssessions as s"。修改为正确的语句。ESC 退出Modify 状态。

7,再次执行操作Run

06.png
没有语法错误,sql语句执行成功。

8, 将修改后的sql语句保存为文件

我们在4-7步的操作中修改的sql语句均是在缓存中的,如果需要保存为正确的文件,需要使用Use-editor,默认使用vi编译器,使用w 命令保存为新文件或者覆盖当前文件。
07.png
08.png
另存为新文件1_new.sql。

[gbasedbt@bd temp]$ ll
总用量 8
-rw-rw-r-- 1 gbasedbt gbasedbt 507 2月  11 09:49 1_new.sql
-rw-rw-r-- 1 gbasedbt gbasedbt 516 2月  11 09:20 1.sql

标签: gbase 8s, dbaccess, sql调试, 调试

添加新评论