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文件包含所有转换不支持、执行错误等导致的报错信息