Datenbank einrichten

Für den Nachrichtenfluss in diesem Beispielcode ist eine externe Datenbank erforderlich, die in einer der grafischen Datenzuordnungen verwendet wird, mit der die Nachrichtendaten bei der Ausführung der Transformation aufbereitet werden. Die Datenbank muss im Voraus eingerichtet werden, sodass im Zuordnungsknoten "StoreSales to SoldStock" darauf zugegriffen werden kann.

Der Datenquellenname RETAILDB (der beim Erstellen der grafischen Datenzuordnung "StoreSales to SoldStock" zu der Datenbankinstanz verwendet wird, die dem Broker bei Ausführung des Beispielcodes zur Verfügung steht) muss mit einem konfigurierbaren JDBCProviders-Service aufgelöst werden.

Für den Zugriff auf die Datenbank muss für den Integrationsknoten außerdem eine gültige JDBC-Servicekennung und ein Kennwort konfiguriert werden.

Die Daten, auf die bei der Zuordnung zugegriffen wird, befinden sich in drei Tabellen:

DB2-Datenbank einrichten:

  1. Erstellen Sie eine Datenbank mit dem Namen RETAILDB:
     

    Überprüfen Sie, ob erfolgreich eine Verbindung mit RETAILDB hergestellt werden kann.

  2. Erstellen Sie mithilfe des SQL-Scripts createTables.sql (ist im Beispielcode unter dem Projekt 'GraphicalDataMappingRetailSampleDatabase' bereitgestellt) die Tabellen, die in der Anwendung unter der Kategorie 'Other Resources' (Andere Ressourcen) aufgelistet sind. Wechseln Sie aus der DB2-Eingabeaufforderung in das Verzeichnis, in dem sich das Script createTables.sql befindet, und führen Sie folgenden Befehl aus:
    db2 -vf createTables.sql
  3. Füllen Sie die Tabellen mithilfe des SQL-Scripts, das im Beispielcodeprojekt GraphicalDataMappingRetailSampleDatabase bereitgestellt wird, mit Daten. Wechseln Sie aus der DB2-Eingabeaufforderung in das Verzeichnis, in dem sich das Script insertDbData.sql befindet, und führen Sie folgenden Befehl aus:
    db2 -vf insertDbData.sql

Datenbankumgebung für den Integrationsknoten einrichten:

  1. Öffnen Sie ein IBM Integration-Befehlskonsolenfenster, in dem Sie IBM Integration Bus-Befehle ausführen können.
  2. Erstellen Sie mit folgendem Befehl den Benutzernamen und das Kennwort als Sicherheitsberechtigungsnachweise, die dem Integrationsknoten den Zugriff auf die Datenbank ermöglichen. Geben Sie die Datenbankbenutzer-ID und das Datenbankkennwort anstelle von <Benutzer-ID> und <Kennwort> an:

    mqsisetdbparms IB9NODE -n jdbc::RETAILDB -u <Benutzer-ID> -p <Kennwort>
  3. Erstellen Sie (mit dem in Schritt 3 aufgeführten Befehl) den konfigurierbaren JDBC-Service, um den Datenquellennamen 'RETAILDB' aus der Zuordnung zu der physischen Datenbank aufzulösen, die vom Integrationsknoten zur Ausführungszeit verwendet wird.

    Weitere Informationen zur Erstellung konfigurierbarer JDBC-Services finden Sie im Abschnitt JDBC-Provider für Verbindungen des Typs 4 einrichten.

    Beachten Sie, dass der Parameter "maxConnectionPoolSize" auf einen Wert ungleich null gesetzt ist. Dadurch wird ein JDBC-Verbindungspool erstellt, der vom Beispielcode verwendet werden kann. Weitere Informationen zum JDBC-Verbindungszusammenschluss in Pools finden Sie im Abschnitt Die von einer Ausführungsgruppe verwendeten Datenbankressourcen mithilfe eines JDBC-Verbindungspools verwalten.

    Der Parameter "databaseSchemaNames" ist auf "" gesetzt. Diese leere Zeichenfolge gibt an, dass der Datenbankschemaname nicht in der Beispielcodezuordnung verwendet werden soll, da er nicht dem Namen Ihres lokalen Datenbankschemas entspricht.

    Der IBM Integration Explorer stellt als Alternative zu dem Befehl im nächsten Schritt eine einfache Benutzerschnittstelle zum Erstellen von konfigurierbaren JDBC-Services aus einer Schablone für jeden Datenbankprovidertyp bereit.

    Für den in diesem Beispielcode verwendeten konfigurierbaren JDBC-Service RETAILDB sind die folgenden Einstellungen erforderlich (die tatsächlichen Werte können wie unten angegeben variieren):



    <configurableservice connectionUrlFormat="jdbc:db2://[Servername]:[Portnummer]/[Datenbankname]:user=[Benutzer];password=[Kennwort];" 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. Geben Sie den Befehl mqsicreateconfigurableservice ein; dabei sollten Sie die Werte in spitzen Klammern (<>) prüfen und ggfs. durch die entsprechenden Werte Ihres Systems ersetzen. In diesem Befehl folgt auf den Parameter "-n" eine Reihe von Eigenschaften, deren Werte durch die Liste der Werte nach dem Parameter "-v" festgelegt werden.

    Beachten Sie, dass der Wert des Parameters "connectionUrlFormat" Variablennamen in eckigen Klammern ([]) verwendet, die nicht geändert werden dürfen.
    mqsicreateconfigurableservice
    < IB9NODE > -c JDBCProviders -o RETAILDB -n
    connectionUrlFormat,databaseName,databaseType,databaseSchemaNames,description,jarsURL,
    maxConnectionPoolSize,portNumber,serverName,securityIdentity,
    type4DatasourceClassName,type4DriverClassName
    -v
    "jdbc:db2://[Servername]:[Portnummer]/[Datenbankname]:user=[Benutzer];password=[Kennwort];",
    RETAILDB,"DB2 Universal Database","","Graphical Data Mapping Retail sample Database",
    "< C:\Programme\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]:[Portnummer]/[Datenbankname]:user=[Benutzer];password=[Kennwort];",
    RETAILDB,"DB2 Universal Database","","Graphical Data Mapping Retail sample Database",
    "C:\Programme\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]:[Portnummer]/[Datenbankname]:user=[Benutzer];password=[Kennwort];",
    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. Geben Sie folgenden Befehl ein, um zu überprüfen, ob alle Eigenschaften des konfigurierbaren Service richtig festgelegt sind: mqsireportproperties IB9NODE -c JDBCProviders -r -o RETAILDB
  6. Erstellen Sie folgende Verzeichnisse:
  7. Stellen Sie sicher, dass Ihr Integrationsknoten erstellt wurde und aktiv ist.
  8. Setzen Sie die Umgebungsvariable MQSI_FILENODES_ROOT_DIRECTORY auf das Stammverzeichnis:
    1. Befolgen Sie die Anweisungen im Abschnitt Befehlsumgebung einrichten, um eine Befehlsumgebung und Befehlsdatei zu erstellen, die die folgende Zeile enthält (dabei darf das Gleichheitszeichen (=) nicht von Leerzeichen umgeben sein):
      • Unter Windows:
        SET MQSI_FILENODES_ROOT_DIRECTORY=c:\MQSIFileOutput
      • Unter Linux:
        export MQSI_FILENODES_ROOT_DIRECTORY="/tmp/MQSIFileOutput"
    2. Stoppen Sie Ihren Integrationsknoten und starten Sie ihn erneut. Entsprechende Informationen hierzu finden Sie im Abschnitt Integrationsknoten starten und stoppen.

Zurück zum Beginn des Beispielcodes