使用命令行处理

您可以通过命令行向管理服务器提交服务请求,以运行一个或多个服务。

在运行某个服务之前,您必须先将该服务分配给使用该管理器的代理和管理服务器。该代理和管理服务器必须正在运行以处理服务请求。您还必须安装 InfoSphere™ Data Architect 和 IBM Optim Designer,以获取运行命令行处理所需的文件。

命令行的使用选项共有两个:

runservice 脚本

runservice 脚本在 ida_folder\optim\designer\runservice 文件夹中,其中的 ida_folder 是 InfoSphere Data Architect 的安装文件夹。您必须在 ida_folder\optim\designer\runservice 文件夹中打开命令行。 该文件夹包含两个脚本文件,一个用于 Microsoft Windows (runservice.bat),一个用于 Linux 和 UNIX (runservice.sh)。

runservice 脚本需要将 Java 6.0 JRE 或 JDK 安装的根文件夹添加到 PATH 环境变量。

在您运行分配到管理服务器和代理的服务时,runservice 脚本使用以下语法:

runservice {--service | -s} servicename:version
{--url | -u} serverURL {--continueOnError | -c}
--service | -s servicename:version

服务名称和版本号(采用 n.n.n 格式)。 必需。

服务名称区分大小写。如果服务名称包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

例如:-s demosvc:1.0.0

--url | -u serverURL
托管包含服务的注册表和存储库的管理服务器的位置。缺省情况下使用位置 http://localhost:8080

例如:-u http://mgmtserver1:8080

--continueOnError | -c

该参数会将脚本设置为继续向代理发送服务以供执行,即使代理未能启动服务也是如此。

在您运行导出的服务请求时,runservice 脚本使用以下语法:

runservice {-r|--serviceRequest} requestfilepath
{-u|-url} proxyURL {-j|--jarMap} mapfilepath 
{-v|--overrideValues} overridefilepath {-l|--logLevel} loglevel
{-t|--timeout} seconds|never {-p|--serviceResponse} responsefilepath
--serviceRequest | -r requestfilepath

导出的服务请求的完整文件路径。必需。

服务请求文件名区分大小写。如果文件名称包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

例如:-r demosvc.jar

--url | -u proxyURL
要用于运行服务的代理的位置。 缺省情况下使用位置 http://localhost:12000

例如:-u http://proxy1:12000

--jarMap | -j mapfilepath

映射文件的完整文件路径。

映射文件名称区分大小写。如果文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

--overrideValues | -v overridefilepath

覆盖文件的完整文件路径。

映射文件名称区分大小写。如果文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

--logLevel | -l loglevel
服务的记录级别(即,要在日志中包含的消息的最低严重性)。可能的值包括(从低到高):
  • OFF
  • SEVERE
  • WARNING
  • INFO
  • CONFIG
  • FINE
  • FINER
  • FINEST
  • ALL

例如:-l INFO

--timeout | -t timeoutseconds

指定结束前等待响应的秒数(或从不等待)。缺省情况下,runservice 脚本等待 600 秒。

--serviceResponse | -p serviceresponsefile

写入服务响应的文件的完整文件路径。

java -jar com-ibm-nex-client-tool.jar 命令

com-ibm-nex-client-tool.jar 文件在 ida_folder\optim\designer\runservice 文件夹中,其中的 ida_folder 是 InfoSphere Data Architect 的安装文件夹。您必须在 ida_folder\optim\designer\runservice 文件夹中打开命令行。

java -jar com-ibm-nex-client-tool.jar 命令使用以下语法,其中 java_folder 是 Java 6.0 JRE 或 JDK 安装的根文件夹。为避免每次输入此命令时都必须输入根文件夹,请将根文件夹添加到 PATH 环境变量。

java_folder/java -jar com-ibm-nex-client-tool.jar
{--service | -s} servicename:version
{--url | -u} serverURL {--continueOnError | -c}
--service | -s servicename:version

数据管理服务的名称和版本号(采用 n.n.n 格式)。 必需。

服务名称区分大小写。如果服务名称包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

例如:-s demosvc:1.0.0

--url | -u serverURL
托管包含服务的注册表和存储库的管理服务器的位置。必需。

例如:-u http://mgmtserver1:8080

--continueOnError | -c

该参数会将脚本设置为继续向代理发送服务以供执行,即使代理未能启动服务也是如此。

运行多个服务

您可以使用命令行来运行已部署到同一管理服务器中的多个服务。服务按指定顺序逐个启动。 并行运行

请指定使用逗号分隔的每个服务和版本对。请勿在逗号前后使用空格。

例如:

runservice -s service1:1.0.0,service2:1.0.0 -u http://mymgmtserver:8080 -c

服务名称中的空格

如果服务名称包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号 (" ") 将该名称括起来。例如:

runservice -s "service name":1.0.0 -u http://mymgmtserver:8080

运行导出的服务请求

您可以使用命令行来运行已导出到文件的服务请求。

例如:

runservice -r C:\services\service1.jar -u http://myproxy:12000

覆盖文件

覆盖文件是包含服务请求参数的 XML 文件。如果在运行导出的服务请求时指定覆盖文件,那么 runservice 脚本运行请求时会使用覆盖文件中的参数。

您可以使用 runservice 脚本来生成包含服务请求中参数的覆盖文件。

runservice {-g|--generateOverrideTemplate} requestfilepath
{-v|--overrideValues} overridefilepath {-i|--includeComments} {true|false}
--generateOverrideTemplate | -g requestfilepath

导出的服务请求的完整文件路径。必需。

服务请求文件名区分大小写。如果服务请求文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

--overrideValues | -v overridefilepath
新的覆盖文件的完整文件路径。

例如:-v C:\override\requestfileoverride.xml

--includeComments | -i

指定是否想要在覆盖文件中包含注释。有效值为 truefalse。 缺省情况下,覆盖文件中不包含任何注释。

在生成覆盖文件后,您可以更改覆盖文件中的参数。如果运行服务请求,您可以指定更改的覆盖文件,并且 runservice 脚本使用更改的参数运行服务请求。

覆盖文件使用相同的 XML 名称空间作为服务请求 (http://www.ibm.com/nex/ecore/2.2.0/svc)。覆盖文件的根元素总是 Overrides。一般格式为覆盖组、来自于覆盖组的属性和服务请求中发现的属性描述符的嵌套层次结构。 在 runservice 脚本生成覆盖模板时,将使用覆盖组和属性描述符名称来命名组和属性元素。
<?xml version=”1.0” encoding=”UTF-8”?>
<svc:Overrides xmlns:svc=”http://www.ibm.com/nex/ecore/2.2.0/svc”>
    <svc:ParentGroup uuid=”...”>
        <svc:ChildGroup uuid=”...”>
            <svc:Attribute1 value=”...” uuid=”...” />
            <svc:Attribute2 value=”...” uuid=”...” />
            <svc:Attribute3 value=”...” uuid=”...” />
            ...
        </svc:ChildGroup>
        ...
    </svc:ParentGroup>
    ...
</svc:Overrides>
覆盖文件必须使用 UTF-8 编码。

映射文件

映射文件是代理用来将服务请求中的 JDBC 驱动程序匹配至代理上的 JDBC 驱动程序的文件。如果服务请求中的 JDBC 驱动程序与映射文件中的某一行匹配,那么代理会使用该行上指定的 JDBC 驱动程序。如果服务请求中的 JDBC 驱动程序不匹配映射文件中的任何行,那么代理使用在服务请求上指定的确切 JDBC 驱动程序。(如果代理上存在最新版本的 JDBC 驱动程序,那么可将代理配置为使用此 JDBC 驱动程序。)

runservice 脚本使用的映射文件类似于标准的 Java .properties 文件。空行将被忽略。以井号 (#) 字符开头的行将被认为是注释。所有其他行必须遵循以下格式:
<regex>=<path>
<regex> 是将用于匹配设计器提供的 .jar 名称的有效正则表达式模式。<path> 是到代理上实际 .jar 文件的标准路径。
例如,映射文件包含以下行:
db2jcc4.*\.jar=/opt/IBM/sqllib/java/db2jcc4.jar
db2jcc4_license_cu.*\.jar=/opt/IBM/sqllib/java/db2jcc4_license_cu.jar
如果将服务请求设置为使用 JDBC 驱动程序 db2jcc4-9.1.jar,那么代理使用 JDBC 驱动程序 /opt/IBM/sqllib/java/db2jcc4.jar 运行服务请求。 如果将服务请求设置为使用 JDBC 驱动程序 db2jcc4_license_cu-9.1.jar,那么代理使用 JDBC 驱动程序 /opt/IBM/sqllib/java/db2jcc4_license_cu.jar 运行服务请求

加密密码

您可以使用 runservice 脚本加密服务请求中的明文密码。

runservice {-e|--encryptPassword} password 
--encryptPassword | -e password

您要加密的明文密码。必需。

查找启动表

您可以使用 runservice 脚本来显示服务请求中的启动表(和其他表)。

runservice {-a|--startTable} requestfilepath
{-o|--otherTables } {true|false}
--startTable | -a requestfilepath

将显示其启动表的导出的服务请求的完整文件路径。必需。

服务请求文件名区分大小写。如果文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

--otherTables | -o

指定服务请求中的其他表是否要包含在输出中。有效值为 truefalse。 缺省情况下,包含所有表。

显示服务请求

您可以使用 runservice 脚本来显示服务请求中的信息。

runservice {-d|--displayService} requestfilepath
{-x|--xsltStylesheet} stylesheetpath
--displayService | -d requestfilepath

将显示其信息的导出的服务请求的完整文件路径。必需。

服务请求文件名区分大小写。如果文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。

--xsltStylesheet | -x xsltfilepath

要用于格式化服务请求的 XSLT 样式表的完整文件路径。

XSLT 样式表文件名区分大小写。如果文件名包含空格或包含多字节字符集 (MBCS) 字符,那么必须用双引号将该名称括起来。