3.2.1. 安装部署

SQL超级终端 为免安装客户端工具,将zip压缩包解压后,Windows平台通过PowerShell进入解压目录,执行.sqlclient.ps1即会列出详细的命令行选项功能介绍(同理Linux平台中对应解压目录中执行./sqlclient.sh)。
../_images/sqlclient_2026-02-26_16-07-30.png
注意

对于Windows PowerShell中运行SQL终端,可能出现中文显示乱码问题,可通过以下命令来将控制台输出编码设为UTF-8(覆盖默认GBK): [Console]::OutputEncoding = [System.Text.Encoding]::UTF8 [Console]::InputEncoding = [System.Text.Encoding]::UTF8

3.2.2. 使用介绍

用法:

.sqlclient.ps1 [目标库] [连接信息] [选项]

选项:

命令行选项

命令选项

功能含义

--target-db

连接到的目标库,用于和version一起推断jdbc驱动(大小写不敏感)。注:如果不是--help,那么--target-db必须是第一个选项

--target-db-version

连接到的目标库版本,用于推断jdbc驱动

-u 或 --url

数据库jdbc连接URL,也可使用--host --port [--db] [--param]代替,同时指定时, 本选项具有更高的优先级

--host

数据库服务器主机地址

--port

数据库服务器主机端口

--db

默认数据库

--param

连接参数

--user

数据库用户名

-p 或 --password

数据库密码

-d 或 --driver

数据库驱动类(可选:默认基于target-db自动推断)

-v 或 --verbose

显示详细信息

-f 或 --file

执行sql文件,然后退出

--dir

执行或转换目录中的所有文件(按照ascii顺序进行,支持目录递归;文件名或目录名包含"_unisql"则转换,否则不转换),然后退出

--noexec

仅执行转换,结果输出到--output目录,不存在会自动创建

--output

执行或转换目录中的所有文件(按照ascii顺序进行,支持目录递归),然后退出

--log

执行结果重定向文件或目录。对于-f,为日志文件;对于--dir,为日志目录,在目录下会包含一个batch.err,包含所有的错误,方便用户快速定位

--unisql

走统一SQL

--source-db

走统一SQL时,源库方言(大小写不敏感)

连接到的源库版本,用于推断jdbc驱动(可选)

显示详细信息

--compare-server

比对服务器地址(不配置,则不比对)

-t 或 --timing

显示执行时间

-m 或 --max-rows

行数,交互模式下的最大显示行数 (默认: 1000000),-f/copy/spool不受行数限制影响

--exit-on-error

出错时退出

--list-unisql-dblist

查看统一sql支持的源库和目标库列表

-h 或 --help

显示此帮助信息

命令行示例:
1.使用统一SQL转换且在目标库中执行(源mysql、目标ob-oracle):

.sqlclient.ps1 --target-db OCEAN_BASE_ORACLE --target-db-version 4020100 --url jdbc:oceanbase://10.20.47.202:2883 --user sys@oracle_tenant#obdemo --password aaAA11a --source-db mysql --unisql

../_images/sqlclient_2026-02-27_20-04-30.png
2.使用统一SQL转换且在目标库中执行(源oracle、目标pg):

.sqlclient.ps1 --target-db POSTGRESQL --host 10.20.198.134 --port 5432 --db postgres --user postgres --password lightdb@123 --source-db ORACLE --unisql

3.使用统一SQL仅转换不执行(源oracle、目标pg):

.sqlclient.ps1 --target-db POSTGRESQL --source-db ORACLE --unisql --noexec

../_images/sqlclient_2026-02-28_11-01-30.png
4.不使用统一SQL转换,仅在目标库执行(目标pg):

.sqlclient.ps1 --target-db POSTGRESQL --host 10.20.198.134 --port 5432 --db postgres --user postgres --password lightdb@123

../_images/sqlclient_2026-02-28_11-06-30.png
5.使用统一SQL转换单个sql文件(源oracle、目标gaussdb-oracle):

.sqlclient.ps1 --target-db GAUSSDB_ORACLE --unisql --source-db ORACLE --noexec -f E:业务代码test.sql --output D:Downloadsdist20160130output_gaussdb-oracle --log D:Downloadsdistlog

6.使用统一SQL转换整个文件夹(源oracle、目标gaussdb-oracle):

.sqlclient.ps1 --target-db GAUSSDB_ORACLE --unisql --source-db ORACLE --noexec --dir E:业务代码数风RCMP5.0hsrcm-pbs-taskpublicbusinessdeploysqlsoracle_unisql --output D:Downloadsdist20160130output_gaussdb-oracle --log D:Downloadsdistlog

7.使用统一SQL转换整个文件夹(源oracle、目标gaussdb-oracle),其中混合包含了需要转换和无需转换的sql文件:

.sqlclient.ps1 --target-db GAUSSDB_ORACLE --unisql --source-db ORACLE --noexec --dir E:业务代码数风RCMP5.0hsrcm-pbs-taskpublicbusinessdeploysqlsoracle_unisql --output D:Downloadsdist20160130output_gaussdb-oracle --log D:Downloadsdistlog

../_images/sqlclient_2026-02-28_14-11-30.png
注意
1.在SQL终端交互命令中,可通过!help命令来查看完整的命令支持清单
../_images/sqlclient_2026-02-28_15-28-30.png

2.--log指定输出的日志文件目录中,batch.err文件包含所有转换不支持、执行错误等导致的报错信息