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"
- 指定绑定选项及相应的值。 可用的绑定选项如下所示:
- 阻止
- COLLECTION
- 编码
- 通用
- GRANT
- GRANT_ROLE
- 隔离
- 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 Data Source Administrator 中除去指定 Db2 副本的所有用户或系统 ODBC 数据源条目。 db2cli register -remove -alldsn 命令在 Windows 操作系统上可用。
- -copyname copy_name
- 从 Microsoft ODBC Data Source Administrator 中除去指定 Db2 副本的用户或系统 ODBC 数据源条目。 未指定副本名称时,将会使用当前副本名称。 当前副本名称是从中运行 db2cli 实用程序的客户机的副本名称。 如果将 -copyname 选项与 -alldsn 选项一起指定,那么将从指定的 Db2 副本中除去 Microsoft ODBC 数据源管理器中的所有数据源条目。 db2cli register -remove -copyname 命令在 Windows 操作系统上可用。
- -allcopies
- 从 Microsoft ODBC Data Source Administrator 中除去所有 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 Data Source Administrator 中注册的所有系统或用户 IBM Data Server ODBC 数据源。
- -copyname copy_name
- 在 Microsoft ODBC Data Source Administrator 中列出指定 Db2 副本的用户或系统 ODBC 数据源条目。 未指定副本名称时,将会使用当前副本名称。 当前副本名称是从中运行 db2cli 实用程序的客户机的副本名称。 db2cli register -list -copyname 命令在 Windows 操作系统上可用。
- -allcopies
- 列出 Microsoft ODBC Data Source Administrator 中所有 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 语句以定界符分隔。 仅使用可以准备的语句。 不允许使用 Db2 命令,例如 DESCRIBE TABLE 和 BIND 。
输入 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
- 指定<数据库>分节的连接信息。 此信息包括数据库名称、数据库所在的主机名以及数据库服务器的端口号。
如果 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> 子节中添加一个新的会话全局变量参数元素。
如果指定的会话全局变量参数元素已经存在于配置文件中,<参数> 子节中的会话全局变量值将根据 -sessionglobalvariables 选项指定的值进行更新。
特殊字符 (例如值中的路径分隔符) 必须以转义字符
\
开头。db2cli writecfg 命令不会验证语法,也不会验证所指定参数的值。
- -specialregisters register_string
- 其中 register_string 的格式如下:
register_name=register_value[;...;register_nameN=registerN_value]
指定专用寄存器信息,用于在 db2dsdriver.cfg 配置文件中添加或更新所有数据库的参数元素。
如果指定的特殊寄存器参数不在 db2dsdriver.cfg 配置文件的 <parameters> 子节中,则会在 <parameters> 子节中添加特殊寄存器参数元素。 如果配置文件中已经有指定的特殊寄存器参数元素,<参数> 子节中的特殊寄存器值将根据 -specialregisters 参数指定的值更新。
您必须在特殊寄存器值(registerN_value)的任何特殊字符前加上转义字符 "
\
。db2cli writecfg 命令不会验证语法或验证指定的专用寄存器参数的值。
- remove -dsn| -database | -parameter[s]
- 从 db2dsdriver.cfg 配置文件中移除有关 DSN、数据库或参数的信息。
- -dsn dsn_name
- 指定要删除参数元素、会话全局变量参数元素或配置文件中整个 <dsn> 分节的 DSN。 如果 dsn_name 包含空格,请将其括在双引号内。
要移除参数元素或会话全局变量参数元素信息,请指定相应的 DSN 以及参数或会话全局变量信息。
要移除整个数据源子节,请仅指定 DSN,不要指定任何参数或会话全局变量信息。
- -数据库 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 服务器的当前用户标识指定的配置信息。 使用 db2cli refreshldap 命令创建的 IBM 数据服务器驱动程序配置文件中的所有 DSN 条目都包含 LDAP="1 " 属性。
为 LDAP 服务器中的数据库定义的认证类型将追加或更新到 IBM 数据服务器驱动程序配置文件中该 DSN 别名的
<dsn>
部分。仅当针对 LDAP 服务器中的数据库定义的 Protocol 参数值不是 TCPIP 时,该值才会追加或更新到该 DSN 别名的
下表列出了 IBM 数据服务器驱动程序配置文件中支持的 DCS 参数和等效关键字。 只有列示的 DCS 参数才能通过 refreshldap 选项进行追加或更新。<dsn>
节。所有受支持的 DCS 参数(SYSPLEX 参数除外)都会追加或更新到表 1. DCS 参数和等效的 IBM 数据服务器驱动程序配置关键字 DCS 参数 等效关键字 映射文件 SQLCODEMAP INTERRUPT_ENABLED InterruptProcessingMode SYSPLEX ConnectionLevelLoadBalancing BIDI BiDiCCSID <dsn>
节。 存在于 LDAP 服务器中的 SYSPLEX 参数将追加或更新到相应的 <database> 节。 使用 refreshldap 选项更新 IBM 数据服务器驱动程序配置文件时,可以通过不配置 db2cli.ini 文件来避免意外行为。 db2cli.ini 文件配置优先于 IBM 数据服务器驱动程序配置文件。如果 IBM 数据服务器驱动程序配置文件不存在,那么 db2cli refreshldap 命令会创建该文件。
db2cli refreshldap 命令使用等同于 CLI 关键字 (在 LDAP 服务器中指定) 的关键字来更新 IBM 数据服务器驱动程序配置文件。 在 LDAP 服务器上指定的没有等效 IBM 数据服务器驱动程序配置关键字的任何 CLI 关键字都会生成警告消息。 不会追加或更新 LDAP 服务器上通过 GWNODE 选项指定的任何网关设置,而是产生警告消息。 不会追加或更新 LDAP 服务器上的备用服务器设置,而是产生警告消息。如果 LDAP 服务器上存在与 IBM 数据服务器驱动程序配置文件中的现有 DSN 条目匹配的 DSN 条目,而该条目不是从 LDAP 服务器条目创建的 (没有 LDAP="1 " 属性) ,那么将返回警告,并且不会更新 DSN 条目。
如果同一数据库的 IBM 数据服务器驱动程序配置文件上存在多个 DSN 条目,但具有不同的别名,那么在删除 LDAP 服务器上的 DSN 条目时,将仅除去从 LDAP 服务器条目 (具有 LDAP="1 " 属性) 创建的 DSN 条目。可以对任何 IBM Db2 Data Server 产品和 IBM Db2 数据库产品发出 db2cli refreshldap 命令。
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 commands
- 对应于 CLI支持的每个函数调用 (并具有相同的名称) 的命令。
- Support commands
- 没有等效 CLI 功能的命令。
- Additional modes
- 您可以使用 db2cli 命令的其他方式来验证和测试 CLI 环境配置。
可以交互方式发出命令,也可以从文件中发出命令。 类似地,可以在终端上显示命令输出或将其写入文件。 IBM Data Server Driver for ODBC and CLI 的一个有用功能是能够捕获在会话期间输入的所有命令,并将这些命令写入文件,从而创建 命令脚本 ,供您稍后重新运行。
对于 Windows 64 位操作系统上的 IBM Data Server Client 软件包,除了 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 文件中。