db2cli - Db2 交互式 CLI 命令
启动交互式调用级接口 (CLI) 环境,以便在 CLI 中进行设计和原型化。
权限
db2cli 命令位于 IBM® 数据服务器产品安装目录的 bin 子目录中。在 UNIX 和 Linux 操作系统上,db2cli 命令位于 home_dir/sqllib/bin 目录中,其中 home_dir 是实例所有者的主目录。在 Windows 操作系统上,该命令位于 DB2PATH\bin 目录中,其中 DB2PATH 是 Db2 副本的安装位置。
无
需要的连接
无
命令语法
命令参数
- bind
针对目标数据库绑定指定的 filename。db2cli bind 命令会先使用 db2cli bind 命令参数中提供的信息连接到目标数据库,再执行绑定操作。绑定文件的扩展名为 .bnd。
- filename
- filename 可以是绑定文件的名称,也可以包含多个绑定文件名的列表文件的名称。如果指定列表文件,那么必须使用 @ 字符作为列表文件名的前缀。可以指定标准绑定文件名,但必须括在双引号内。
如果指定不含任何路径的绑定文件名,那么将先在当前目录中搜索该文件。如果可以找到该文件,那么会捡取该文件,并创建程序包。如果在当前目录中找不到该文件,那么会从实例或安装路径中自动捡取该文件。
- -dsn dsn_name
- 指定要绑定的数据源名称 (DSN)。使用此绑定选项时,除连接至目标数据库所需的有效用户标识和密码之外,所有信息都必须存在于:
- db2cli.ini 文件中的数据源名称小节。
- db2dsdriver.cfg 文件中的数据库小节或 DSN 小节。
- 本地目录条目。
- -database database:server:port
- 指定要绑定的数据库名称、服务器名称和端口号。必须使用冒号来分隔数据库名称、服务器名称和端口号。服务器名称必须包含标准域名 (FQDN),例如,TESTDB:dbserver.example.com:19677。
- -user username
- 指定用于连接的用户名。
- -passwd password
- 指定用于连接的密码。
- -options "various_bind_options"
- 指定绑定选项及相应的值。可用的绑定选项如下所示:
- BLOCKING
- COLLECTION
- ENCODING
- GENERIC
- GRANT
- GRANT_ROLE
- ISOLATION
- KEEPDYNAMIC
- REOPT
- -help
- 显示与 bind 参数的用法相关的帮助信息。
- registerdsn
指定 db2cli 注册 DSN 方式。使用此命令参数可在 Windows 操作系统中注册 DSN。
- -add dsn_name|-alldsn
- 将系统或用户 ODBC 数据源添加到 Microsoft ODBC 数据源管理器。仅当 db2dsdriver.cfg 文件或 db2cli.ini 文件中存在该 DSN 的 description 值时,才会将 description 添加到注册表中。
- dsn_name
- 指示要注册的 DSN。dsn_name 的值必须是 db2cli.ini 文件中定义的 DSN 或者 db2dsdriver.cfg 文件中定义的 DSN 别名,且不能是 DBALIAS 名称。-add dsn-name 参数针对本地数据库目录中的已编目数据库添加数据源。dsn-name 可以指示 db2cli.ini 中定义的数据源或者 db2dsdriver.cfg 文件中定义的 DSN 别名,以及 IBM Data Server 客户机的本地数据库目录中的数据库别名。如果 dsn_name 包含空格,请将其括在双引号内。
- -dsn
- 允许用户指定需要添加到 Microsoft ODBC 数据源管理器的 DSN 名称。db2cli registerdsn -add -dsn 命令在 Windows 操作系统上可用。
- -alldsn
- 注册 db2cli.ini 文件中定义的所有数据源、db2dsdriver.cfg 文件中定义的 DSN 别名以及本地数据库目录。此参数必须与 -add 参数配合使用。
- -includeldap
- 注册在 LDAP 服务器、db2cli.ini 文件、db2dsdriver.cfg 文件和本地数据库目录中指定的所有数据源。请通过在 IBM 数据服务器驱动程序配置文件中配置 LDAP 小节,或在 Windows 环境中配置 LDAP 连接,确保您可以成功连接到 LDAP 服务器。
- -user
- 将数据源注册为用户 ODBC 数据源。如果未指定任何参数,那么会将数据源注册为用户 ODBC 数据源。
- -system
- 将数据源注册为系统 ODBC 数据源。
- -remove dsn_name
- 从 Microsoft ODBC 数据源管理器中移除系统或用户 ODBC 数据源。如果 dsn_name 包含空格,请将其括在双引号内。
- -alldsn
- 从 Microsoft ODBC 数据源管理器中移除所指定 Db2 副本的所有用户或系统 ODBC 数据源条目。db2cli register -remove -alldsn 命令在 Windows 操作系统上可用。
- -copyname copy_name
- 从 Microsoft ODBC 数据源管理器中移除所指定 Db2 副本的用户或系统 ODBC 数据源条目。未指定副本名称时,将会使用当前副本名称。当前副本名称是从中运行 db2cli 实用程序的客户机的副本名称。如果同时指定 -copyname 选项和 -alldsn 选项,那么会从指定的 Db2 副本中移除 Microsoft ODBC 数据源管理器中的所有数据源条目。db2cli register -remove -copyname 命令在 Windows 操作系统上可用。
- -allcopies
- 从 Microsoft ODBC 数据源管理器中移除所有 Db2 副本的所有用户或系统 ODBC 数据源条目。除非您还指定 -force 选项,否则系统会提示您确认移除所有 ODBC 数据源条目。db2cli register -remove -allcopies 命令在 Windows 操作系统上可用。
- -force
- 移除所有的用户或系统 ODBC 数据源条目,不提示您确认。-force 选项只能与 -allcopies 选项配合使用。db2cli register -remove -allcopies -force 命令在 Windows 操作系统上可用。
- -dsn
- 指定要从 Microsoft ODBC 数据源管理器中移除的 DSN 名称。db2cli register -remove -dsn 命令在 Windows 操作系统上可用。缺省选项为 -user,即移除用户 DSN。必须指定 -system 选项才能移除系统 DSN。
- -list
- 列示 在 Microsoft ODBC 数据源管理器中注册的所有系统或用户 IBM Data Server ODBC 数据源。
- -copyname copy_name
- 列示 Microsoft ODBC 数据源管理器中所指定 Db2 副本的用户或系统 ODBC 数据源条目。未指定副本名称时,将会使用当前副本名称。当前副本名称是从中运行 db2cli 实用程序的客户机的副本名称。db2cli register -list -copyname 命令在 Windows 操作系统上可用。
- -allcopies
- 列示 Microsoft ODBC 数据源管理器中所有 Db2 副本的所有用户或系统 ODBC 数据源条目。db2cli register -list -allcopies 命令在 Windows 操作系统上可用。
- -help
- 显示与 registerdsn 参数的用法相关的帮助信息。注: 要在 64 位 Windows 机器上添加、移除或列示 32 位 ODBC 数据源条目,请使用 db2cli32 命令。
- csc -info
- 显示连接管理程序客户机 (CSC) 信息。CSC 是可动态装入的库,供 CLI 用于端到端监视。
- -execsql
执行或准备输入文件中指定的 SQL 语句。还可以将输出保存到文件。
- -execute
- 指定准备并运行 SQL 脚本文件中的 SQL 语句。如果未指定任何参数,那么这是缺省值。结果将显示在控制台中。要将输出保存到文件,请指定 -output 选项,搭配文件的绝对或相对路径。SQL 脚本文件中的 SQL 语句不能包含参数标记。
- -prepareonly
- 指定准备 -inputSql 选项所指定文件中的 SQL 语句,但不运行。使用此选项可检查 SQL 语句的语法,但不运行这些语句。
- -commentstart comment_indicator
- 指定出现在行首以指示注释行的字符组合。comment_indicator 的缺省值为双破折号 (--)。如果注释跨多行,请以 comment_indicator 字符组合作为行首。注释行的最大长度为 128 个字符。在输入 SQL 文件中,注释字符后面的文本可以包含语句游标属性。游标属性会应用于紧跟在该注释之后的 SQL 语句。
- -connstring string
- 指定目标数据库的数据库名称、服务器和端口号。必须以 SQLDriverConnect API 函数中
InConnectionString自变量所定义的格式指定信息。例如:
.DATABASE=SAMPLE;HOSTNAME=test.ibm.com;PORT=50000;UID=db2user;PWD=db2pwd - -dsn dsn_name
- 指定在 db2cli.ini 文件中定义的数据源名称或者在 db2dsdriver.cfg 文件中定义的 DSN 别名。如果 dsn_name 包含空格,请将其括在双引号内。
- -help
- 显示用法摘要信息。
- -inputsql sqlfile
- 指定包含 SQL 语句的输入文件。sqlfile 的值是文件的绝对或相对路径。该文件中的 SQL 语句以定界符分隔。仅使用可以准备的语句。不允许使用 DESCRIBE TABLE 和 BIND 之类的 Db2 命令。
输入 SQL 文件中只能包含 SQL 语句和注释。该文件不能包含特定于 CLI 的属性或关键字。不支持批处理 SQL 语句。
- -outfile outputfile
- 指定用于存储输出结果的文件的绝对或相对路径。如果未指定此选项,那么结果会显示在控制台中。
- -passwd password
- 指定用于向数据库进行认证的密码。
- -statementdelimiter delimiter
- 指定输入 SQL 文件中用于分隔语句的字符组合。定界符的缺省值为回车符。
- -user username
- 指定用于向数据库进行认证的用户。
- install
在 Windows 注册表中注册或注销 IBM Data Server Driver for ODBC and CLI。
- -setup
- 在 Windows 注册表中的 ODBC 下注册 IBM Data Server Driver for ODBC and CLI。此参数还会在缺省应用程序数据路径中创建配置文件夹(cfg、cfgcache 和 db2dump)以及样本配置文件。
- -appdatapath <path name>
- 在 path name 中创建配置文件夹(cfg、cfgcache 和 db2dump)以及样本配置文件。
- -cleanup
- 从 Windows 注册表的 ODBC 下注销当前 IBM Data Server Driver for ODBC and CLI。然后,清除操作将会移除在当前安装的应用程序数据路径中创建的文件夹、配置样本文件和许可证管理文件。除非指定了 –force 选项,否则不会移除用户创建的任何文件或文件夹。
- -force
- 随 –cleanup 选项一起指定时,将从应用程序数据路径中移除特定于安装的整个文件夹。此文件夹仅属于此安装。将会移除此文件夹中任何由用户创建的文件或文件夹,不会发出任何提示或警告。
- -help
- 显示与 install 参数的用法相关的帮助信息。
- writecfg add|remove
- 更新 db2dsdriver.cfg 配置文件。
- add -dsn | -database | -parameter[s]
- 将有关 DSN、数据库或参数的信息添加至 db2dsdriver.cfg 配置文件。
- -dsn dsn_name [-description dsn_description] -database db_name -host host_name -port port_number
- 指定 DSN 别名以及可选的描述值。您可以在配置文件中添加或更新参数元素、会话全局变量参数元素或者 DSN 别名的整个 -dsn 子节。如果 dsn_name 包含空格,请将其括在双引号内。对于 -description dsn_description,-dsn dsn_name 选项为必需。
如果配置文件中不存在以 dsn_name 作为 DSN 别名的 -dsn 子节,那么将会在 dsncollection 节中添加新的 -dsn 子节。
如果配置文件中存在以 dsn_name 作为 DSN 别名的 -dsn 子节,那么会将新的参数或会话全局变量信息追加至现有的 -dsn 子节中。
如果 db2dsdriver.cfg 配置文件中存在 db_name 信息相同的 -database 子节,那么会将指定的参数元素追加至该 -database 子节中。否则,指定的参数元素或会话全局变量参数元素将添加到新的 -database 子节中。
- -database db_name -host host_name -port port_number
- 指定 <database> 子节的连接信息。此信息包括数据库名称、数据库所在的主机名以及数据库服务器的端口号。
如果 db2dsdriver.cfg 配置文件中存在 db_name 信息相同的 <database> 子节,那么会将指定的参数元素追加至该 <database> 子节中。否则,指定的参数元素或会话全局变量参数元素将添加到新的 <database> 子节中。
- -parameter[s]
parameter_name1=par1_val[;...;parN=parN_val]
- 指定参数信息,以在 db2dsdriver.cfg 配置文件中添加或更新所有数据库和 DSN 的参数元素。
要向全局 <parameters> 节添加参数,请指定参数信息,但不要指示数据库或数据源。
如果您指定在 db2dsdriver.cfg 配置文件的 <parameters> 子节中找不到的新参数元素,那么会将新的参数元素添加到 <parameters> 子节中。
如果配置文件中已存在指定的参数元素,那么 <parameters> 子节中的现有参数值将以您使用 -parameter[s] 选项指定的值进行更新。
特殊字符(例如,值中的路径分隔符)必须以转义字符“\”开头。
db2cli writecfg 命令不会验证语法,也不会验证所指定参数的值。
- -sessionglobalvariables globvar_string
-
其中 globvar_string 的格式如下:
globvar_name=globvar_value[;...;globvar_nameN=globvarN_value]
指定参数信息,以在 db2dsdriver.cfg 配置文件中添加或更新所有数据库或 DSN 的参数元素。
如果您指定在 db2dsdriver.cfg 配置文件的 <parameters> 子节中找不到的新会话全局变量参数,那么会将新的会话全局变量参数添加到 <parameters> 子节中。
如果配置文件中已存在指定的会话全局变量参数元素,那么 <parameters> 子节中的会话全局变量值将以您使用 -sessionglobalvariables 选项指定的值进行更新。
特殊字符(例如,值中的路径分隔符)必须以转义字符“\”开头。
db2cli writecfg 命令不会验证语法,也不会验证所指定参数的值。
- -specialregisters register_string
-
其中 register_string 的格式如下:
register_name=register_value[;...;register_nameN=registerN_value]
指定专用寄存器信息,用于在 db2dsdriver.cfg 配置文件中添加或更新所有数据库的参数元素。
如果指定在 db2dsdriver.cfg 配置文件的 <parameters> 子节中不存在的专用寄存器参数,那么会将专用寄存器参数元素添加到 <parameters> 子节。如果指定的专用寄存器参数元素已存在于配置文件中,那么 <parameters> 子节中的专用寄存器值将更新为您对 -specialregisters 参数指定的值。
专用寄存器值 (registerN_value) 中的任何特殊字符都必须以转义字符“\”开头。
db2cli writecfg 命令不会验证语法,也不会验证所指定专用寄存器参数的值。
- remove -dsn| -database | -parameter[s]
- 从 db2dsdriver.cfg 配置文件中移除有关 DSN、数据库或参数的信息。
- -dsn dsn_name
- 指定要在配置文件中移除其参数元素、会话全局变量参数元素或整个 <dsn> 子节的 DSN。如果 dsn_name 包含空格,请将其括在双引号内。
要移除参数元素或会话全局变量参数元素信息,请指定相应的 DSN 以及参数或会话全局变量信息。
要移除整个数据源子节,请仅指定 DSN,不要指定任何参数或会话全局变量信息。
- -database db_name -host host_name -port port_number
- 指定要在配置文件中移除其参数元素、会话全局变量参数元素或整个 <database> 子节的数据库名称。
要移除参数元素或会话全局变量参数元素信息,请指定相应的数据库名称以及参数或会话全局变量信息。
要移除整个数据库子节,请仅指定数据库名称,不要指定任何参数或会话全局变量信息。
- -parameter[s]
parameter_name1[;...;parameter_nameN]
- 指定要从 db2dsdriver.cfg 配置文件的 <parameters> 节中移除的参数信息。
如果配置文件的 <parameters> 节中不存在所指示的参数,那么不会执行任何操作。
- -sessionglobalvariables
globvar_name[;...;globvar_nameN]
- 指定要从 db2dsdriver.cfg 配置文件的 <parameters> 节中移除的会话全局变量信息。
如果配置文件的指定 <parameters> 节中不存在所指示的会话全局变量,那么不会执行任何操作。
- -sessionglobalvariables -force
- 从 db2dsdriver.cfg 配置文件中的 <parameters> 节中移除所有会话全局变量信息。如果 <parameters> 子节中不存在会话全局变量,那么不会执行任何操作。
- -specialregisters
register_name=register_value[;...;register_nameN=registerN_value]
- 指定要从 db2dsdriver.cfg 配置文件中的 <parameters> 节中移除的专用寄存器信息。如果配置文件的 <parameters> 子节中不存在所指示的专用寄存器,那么不会执行任何操作。
- -specialregisters -force
- 从 db2dsdriver.cfg 配置文件中的 <parameters> 节中移除所有专用寄存器信息。如果 <parameters> 子节中不存在专用寄存器,那么不会执行任何操作。
- -help
- 显示与 writecfg 参数的用法相关的帮助信息。
- refreshldap
- 以轻量级目录访问协议 (LDAP) 服务器上指定的配置信息,在 IBM 数据服务器驱动程序配置文件 (db2dsdriver.cfg) 中更新及追加所有配置信息。db2cli refreshldap
命令会检索对用于连接至 LDAP 服务器的当前用户标识指定的配置信息。IBM
数据服务器驱动程序配置文件中使用 db2cli refreshldap 命令创建的所有
DSN 条目都包含 LDAP=1 属性。
对 LDAP 服务器中为数据库定义的认证类型将追加或更新到 IBM 数据服务器驱动程序配置文件中该 DSN 别名的
<dsn>节。对 LDAP 服务器中为数据库定义的 Protocol 参数,只有在其值不是 TCPIP 时,才会追加或更新到该 DSN 别名的
下表列示 IBM 数据服务器驱动程序配置文件中支持的 DCS 参数和等效关键字。只有列示的 DCS 参数才能通过 refreshldap 选项进行追加或更新。<dsn>节。所有受支持的 DCS 参数(SYSPLEX 参数除外)都会追加或更新到表 1. DCS 参数和等效的 IBM 数据服务器驱动程序配置关键字 DCS 参数 等效关键字 map-file SQLCODEMAP INTERRUPT_ENABLED InterruptProcessingMode SYSPLEX ConnectionLevelLoadBalancing BIDI BiDiCCSID <dsn>节。存在于 LDAP 服务器中的 SYSPLEX 参数将追加或更新到相应的 <database> 节。使用 refreshldap 选项更新 IBM 数据服务器驱动程序配置文件时,可以通过不配置 db2cli.ini 文件来避免意外行为。db2cli.ini 文件配置优先于 IBM 数据服务器驱动程序配置文件。db2cli refreshldap 命令会创建 IBM 数据服务器驱动程序配置文件(如果尚不存在)。
db2cli refreshldap 命令使用与 LDAP 服务器中指定的 CLI 关键字等效的关键字来更新 IBM 数据服务器驱动程序配置文件。在 LDAP 服务器上指定的任何没有等效 IBM 数据服务器驱动程序配置关键字的 CLI 关键字都会产生警告消息。不会追加或更新 LDAP 服务器上通过 GWNODE 选项指定的任何网关设置,而是产生警告消息。不会追加或更新 LDAP 服务器上的备用服务器设置,而是产生警告消息。如果 LDAP 服务器上存在与 IBM 数据服务器驱动程序配置文件中并非根据 LDAP 服务器条目创建的现有 DSN 条目(不含 LDAP=1 属性)匹配的 DSN 条目,那么会返回警告,并且不会更新该 DSN 条目。
如果在 IBM 数据服务器驱动程序配置文件中存在用于同一数据库但别名不同的多个 DSN 条目,那么删除 LDAP 服务器上的 DSN 条目时,将仅移除根据 LDAP 服务器条目创建的 DSN 条目(包含 LDAP=1 属性)。db2cli refreshldap 命令只能通过 IBM Data Server Driver Package 和 IBM Data Server Driver for ODBC and CLI 产品发出。
db2cli refreshldap 命令与可以从 IBM Data Server Client、IBM Data Server Runtime Client 或 IBM 数据库服务器产品发出的 REFRESH LDAP IMMEDIATE ALL 命令类似。- -global
- 以 LDAP 服务器上针对所有用户标识指定的全局配置信息,在 IBM 数据服务器驱动程序配置文件中更新和追加所有配置信息。
- -help
- 显示 db2cli 命令帮助信息。
用法说明
交互式 CLI 接口由一组命令组成,可用于设计、原型化和测试 CLI 函数调用。这个测试工具是为想要使用此工具的程序员方便而提供,IBM 不能保证它的性能。此接口并非供用户使用,因此没有详尽的错误检查功能。
- CLI 命令
- 这些命令与 CLI 所支持的每个函数调用相对应,而且名称相同。
- 支持命令
- 这些命令没有等效的 CLI 函数。
- 其他方式
- 您可以使用 db2cli 命令的其他方式来验证和测试 CLI 环境配置。
可以交互方式发出命令,也可以从文件中发出命令。类似地,可以在终端上显示命令输出或将其写入文件。IBM Data Server Driver for ODBC and CLI 有一项实用功能,即,捕获在会话期间输入的所有命令并将它们写入文件,从而创建可供稍后重新运行的命令脚本。
对于 Windows 64 位操作系统上的 IBM Data Server 客户机软件包,除了支持 64 位版本的 db2cli 命令之外,还支持 32 位版本的 db2cli (db2cli32.exe)。
SQL 语句通过 SQLExecDirect() 函数执行。执行 SQL 语句时,db2cli execsql 命令会使用 db2cli.ini 和 db2dsdriver.cfg 文件中指定的数据库设置。
db2cli 命令所返回的错误消息使用与 SQLGetDiagRec() 函数相同的格式进行格式化。
- 对服务器节点进行编目。有关更多信息,请参阅“从客户机使用 CLP 对 TCP/IP 节点进行编目”。
- 对所要连接的数据库进行编目。有关更多信息,请参阅“从客户机使用 CLP 对数据库进行编目”。
- (可选)对数据库连接服务 (DCS) 目录进行编目。有关更多信息,请参阅“对 DCS 数据库命令进行编目”。
- 使用 db2cli 交互工具来注册 DSN。
- 对于 32 位 ODBC DSN,请使用 db2cli32 命令。
- 对于 64 位 ODBC DSN,请使用 db2cli 命令。
对于 32 位安装,缺省情况下,db2cli 命令仅注册 32 位 DSN。
要注册的 DSN 必须位于 db2cli.ini 或 db2dsdriver.cfg 文件中。
