设置数据库

此样本中所用的消息流需要一个在其中某一图形数据映射中使用的外部数据库,图形数据映射会在运行变换时充实消息数据。必须提前设置该数据库,以便能够在"StoreSales to SoldStock " Mapping 节点中对其进行访问。

需要 JDBCProviders 可配置服务来将创建"StoreSales to SoldStock"图形数据映射时所用的名为 RETAILDB 的数据源解析至运行样本时代理可使用的数据库实例。

要访问数据库,还必须使用有效的 JDBC 服务标识和密码来配置 Integration 节点。

映射所访问的数据由以下三个表构成:

设置 DB2 数据库:

  1. 创建名为 RETAILDB 的数据库:
     

    检查是否能成功连接到 RETAILDB。

  2. 请使用样本在 GraphicalDataMappingRetailSampleDatabase 项目中提供的 SQL 脚本 createTables.sql 来创建这些表,这些表会列示在“应用程序”中的“其他资源”类别下。请通过 DB2 命令提示符切换到 createTables.sql 脚本所在的目录,然后运行以下命令:
    db2 -vf createTables.sql
  3. 通过使用 GraphicalDataMappingRetailSampleDatabase 样本项目中提供的 SQL 脚本,在这些表中填充数据。请通过 DB2 命令提示符切换到 insertDbData.sql 脚本所在的目录,然后运行以下命令:
    db2 -vf insertDbData.sql

设置 Integration 节点的数据库环境:

  1. 打开可在其中运行 IBM Integration Bus 命令的 IBM Integration 命令控制台窗口。
  2. 使用以下命令创建将允许 Integration 节点访问数据库的用户名和密码安全凭证。在<用户标识>和<密码>的位置上提供数据库用户标识和密码:

    mqsisetdbparms IB9NODE -n jdbc::RETAILDB -u <user ID> -p <password>
  3. (使用第 3 步中显示的命令)创建 JDBC 可配置服务,以根据映射将数据源名称“RETAILDB”解析为 Integration 节点在运行时要使用的物理数据库。

    有关创建“JDBC 可配置服务”的更多信息,请参阅为类型 4 连接设置 JDBC 提供程序

    请注意,“maxConnectionPoolSize”参数设置为非零值。这将创建将由样本使用的 JDBC 连接池。有关 JDBC 连接池的更多信息,请参阅使用 JDBC 连接池来管理执行组所用的数据库资源

    “databaseSchemaNames”参数设置为 ""。此空字符串用于指示不使用样本映射中的数据库模式名称,因为该数据库模式名称与本地数据库模式名称不匹配。

    IBM Integration 资源管理器提供了一个简单的用户界面,用于通过模板为各种类型的数据库提供程序创建 JDBC 可配置服务;此用户界面可作为下一步中显示的命令的替代方法。

    此样本中使用的 JDBC 可配置服务 RETAILDB 需要下列设置,实际值可能会有所不同,如下所示:



    <configurableservice connectionUrlFormat="jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];" connectionUrlFormatAttr1="" connectionUrlFormatAttr2="" connectionUrlFormatAttr3="" connectionUrlFormatAttr4="" connectionUrlFormatAttr5="" csName="RETAILDB" csType="JDBCProviders" databaseName="RETAILDB" databaseType="DB2 Universal Database" databaseVersion="9.1" databaseSchemaNames="" description="Graphical Data Mapping Retail sample Database" environmentParms="default_none" jarsURL="<DB2 install dir>\SQLLIB\java" maxConnectionPoolSize="2" portNumber="50000" securityIdentity="RETAILDB" serverName="localhost" type4DatasourceClassName="com.ibm.db2.jcc.DB2XADataSource" type4DriverClassName="com.ibm.db2.jcc.DB2Driver"/> 

  4. 输入 mqsicreateconfigurableservice 命令,从而确保能够查看并使用与系统相匹配的相应值更新显示在尖括号 (<>) 中的值。在此命令中,“-n”参数后面有一个属性列表,通过跟在“-v”参数后面的相应值列表来设置这些属性的值。

    请注意,“connectionUrlFormat”参数值故意使用带有方括号 ([]) 的变量名称,您不得更改这些变量名称。
    mqsicreateconfigurableservice
    < IB9NODE > -c JDBCProviders -o RETAILDB -n
    connectionUrlFormat,databaseName,databaseType,databaseSchemaNames,description,jarsURL,
    maxConnectionPoolSize,portNumber,serverName,securityIdentity,
    type4DatasourceClassName,type4DriverClassName
    -v
    "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];",
    RETAILDB,"DB2 Universal Database","","Graphical Data Mapping Retail sample Database",
    "< C:\Program Files\IBM\SQLLIB\java >",2,< 50000 >,< localhost >,"RETAILDB"
    com.ibm.db2.jcc.DB2XADataSource,com.ibm.db2.jcc.DB2Driver
    
    mqsicreateconfigurableservice
    IB9NODE -c JDBCProviders -o RETAILDB -n
    connectionUrlFormat,databaseName,databaseType,databaseSchemaNames,description,
    jarsURL,maxConnectionPoolSize,portNumber,serverName,securityIdentity,
    type4DatasourceClassName,type4DriverClassName
    -v
    "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];",
    RETAILDB,"DB2 Universal Database","","Graphical Data Mapping Retail sample Database",
    "C:\Program Files\IBM\SQLLIB\java",2,50000,localhost,RETAILDB,
    com.ibm.db2.jcc.DB2XADataSource,com.ibm.db2.jcc.DB2Driver
    
    mqsicreateconfigurableservice
    IB9NODE -c JDBCProviders -o RETAILDB -n
    connectionUrlFormat,databaseName,databaseType,databaseSchemaNames,description,jarsURL,
    maxConnectionPoolSize,portNumber,serverName,securityIdentity,type4DatasourceClassName,type4DriverClassName
    -v
    "jdbc:db2://[serverName]:[portNumber]/[databaseName]:user=[user];password=[password];",
    RETAILDB,"DB2 Universal Database","",
    "Graphical Data Mapping Retail sample Database",/home/db2admin/sqllib/java,
    2,50000,localhost,RETAILDB,com.ibm.db2.jcc.DB2XADataSource,com.ibm.db2.jcc.DB2Driver
    
  5. 输入以下命令以检查是否正确设置了所有可配置服务属性:mqsireportproperties IB9NODE -c JDBCProviders -r -o RETAILDB
  6. 创建以下目录:
  7. 确保 Integration 节点已创建且正在运行。
  8. 将 MQSI_FILENODES_ROOT_DIRECTORY 环境变量设置为根目录:
    1. 遵循设置命令环境中的指示信息来创建命令环境以及包含以下行(请确保等号 (=) 的前后没有空格)的命令文件:
      • 在 Windows 上:
        SET MQSI_FILENODES_ROOT_DIRECTORY=c:\MQSIFileOutput
      • 在 Linux 上:
        export MQSI_FILENODES_ROOT_DIRECTORY="/tmp/MQSIFileOutput"
    2. 停止并重新启动 Integration 节点。请参阅启动和停止 Integration 节点

返回到样本主页