Datenbankkonnektivität im Liberty-Profil konfigurieren

Sie können für die Datenbankverbindungen eine Datenquelle konfigurieren, der andere JDBC-Provider zugeordnet sind. Die JDBC-Provider stellen die Treiberimplementierungsklassen bereit, die für die JDBC-Konnektivität mit Ihrer speziellen Anbieterdatenbank erforderlich sind.

Informationen zu diesem Vorgang

Wenn Sie über Ihre Anwendung auf eine Datenbank zugreifen möchten, müssen Sie eine Datenquelle verwenden. Datenquellen werden von JDBC-Treibern in den folgenden Varianten bereitgestellt:
  • javax.sql.DataSource

    Dies ist die Basisform einer Datenquelle. Sie bietet keine Interoperabilität, die das Verbindungspooling erweitert, und kann nicht als Ressource mit zweiphasiger Festschreibung an Transaktionen teilnehmen, an denen mehrere Ressourcen beteiligt sind.

  • javax.sql.ConnectionPoolDataSource

    Dieser Typ von Datenquelle ist für Verbindungspooling aktiviert. Diese Datenquelle kann nicht als Ressource mit zweiphasiger Festschreibung an Transaktionen teilnehmen, an denen mehrere Ressourcen beteiligt sind.

  • javax.sql.XADataSource

    Dieser Typ von Datenquelle ist für Verbindungspooling aktiviert und kann als Ressource mit zweiphasiger Festschreibung an Transaktionen teilnehmen, an denen mehrere Ressourcen beteiligt sind.

Damit Ihr JDBC-Treiber im Liberty-Profil verwendbar ist, müssen Sie mindestens eine Datenquelle eines der zuvor beschrieben Typen bereitstellen. Für die gängigen JDBC-Treiber kennt das Liberty-Profil die Implementierungsklassennamen für die verschiedenen Datenquellentypen bereits. Sie müssen dem Liberty-Profil nur mitteilen, wo der JDBC-Treiber zu finden ist.

Vorgehensweise

  1. Definieren Sie in der Datei server.xml eine gemeinsam genutzte Bibliothek, die auf die Position der JAR-Datei bzw. der komprimierten Dateien Ihres JDBC-Treibers verweist. Beispiel:
    <library id="DB2JCC4Lib">
        <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
    </library>
  2. Definieren Sie eine Datenquelle, die den JDBC-Treiber verwendet. Wenn Sie den Datenquellentyp nicht angeben, wählt das Liberty-Profil in der folgenden Reihenfolge und nach Verfügbarkeit eine Datenquelle aus.
    • javax.sql.ConnectionPoolDataSource
    • javax.sql.DataSource
    • javax.sql.XADataSource
    Im Folgenden sehen Sie ein Beispiel, in dem der Standardwert für den Datenquellentyp akzeptiert wird:
    <dataSource id="db2" jndiName="jdbc/db2">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
    Im Folgenden sehen Sie ein Beispiel, in dem der Typ javax.sql.XADataSource verwendet wird:
    <dataSource id="db2xa" jndiName="jdbc/db2xa" type="javax.sql.XADataSource">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
  3. Optional: Konfigurieren Sie Attribute für die Datenquelle, wie z. B. die JDBC-Anbietereigenschaften und die Eigenschaften für das Verbindungspooling.
    Beispiel:
    <dataSource id="db2" jndiName="jdbc/db2" connectionSharing="MatchCurrentState" isolationLevel="TRANSACTION_READ_COMMITTED" statementCacheSize="20">
        <connectionManager maxPoolSize="20" minPoolSize="5" connectionTimeout="10s" agedTimeout="30m"/>
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000" currentLockTimeout="30s" user="user1" password="pwd1"/>
    </dataSource>
    Eine vollständige Liste der Konfigurationsattribute für das Element dataSource, das Element connectionManager und einige gängige JDBC-Anbieter finden Sie im Abschnitt Konfigurationselemente in der Datei 'server.xml'.
  4. Optional: Konfigurieren Sie entsprechend den folgenden Beispielen Datenquellen für gängige Datenbanken.
    Für DB2
    <dataSource id="db2" jndiName="jdbc/db2">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
    
    <library id="DB2JCC4Lib">
        <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
    </library>
    Für DB2 unter iSeries (nativ)
    <dataSource id="db2iNative" jndiName="jdbc/db2iNative">
        <jdbcDriver libraryRef="DB2iNativeLib"/>
        <properties.db2.i.native databaseName="*LOCAL"/>
    </dataSource>
    
    <library id="DB2iNativeLib">
        <fileset dir="/QIBM/Proddata/java400/jdk6/lib/ext" includes="db2_classes16.jar"/>
    </library>
    Für DB2 unter iSeries (Toolbox)
    <dataSource id="db2iToolbox" jndiName="jdbc/db2iToolbox">
        <jdbcDriver libraryRef="DB2iToolboxLib"/>
        <properties.db2.i.toolbox databaseName="SAMPLEDB" serverName="localhost"/>
    </dataSource>
    
    <library id="DB2iToolboxLib">
        <fileset dir="/QIBM/ProdData/Http/Public/jt400/lib" includes="jt400.jar"/>
    </library>
    Für Derby Embedded
    <dataSource id="derbyEmbedded" jndiName="jdbc/derbyEmbedded">
        <jdbcDriver libraryRef="DerbyLib"/>
        <properties.derby.embedded databaseName="C:/databases/SAMPLEDB" createDatabase="create"/>
    </dataSource>
    
    <library id="DerbyLib">
        <fileset dir="C:/db-derby-10.8.1.2-bin/lib"/>
    </library>
    Für Derby Network Client
    <dataSource id="derbyClient" jndiName="jdbc/derbyClient">
        <jdbcDriver libraryRef="DerbyLib"/>
        <properties.derby.client databaseName="C:/databases/SAMPLEDB" createDatabase="create" serverName="localhost" portNumber="1527"/>
    </dataSource>
    
    <library id="DerbyLib">
        <fileset dir="C:/db-derby-10.8.1.2-bin/lib"/>
    </library>
    Für Informix JCC
    <dataSource id="informixjcc" jndiName="jdbc/informixjcc">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.informix.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="1526"/>
    </dataSource>
    
    <library id="DB2JCC4Lib">
        <fileset dir="C:/Drivers/jcc/4.8" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
    </library>
    Für Informix JDBC
    <dataSource id="informix" jndiName="jdbc/informix">
        <jdbcDriver libraryRef="InformixLib"/>
        <properties.informix databaseName="SAMPLEDB" ifxIFXHOST="localhost" 
                             serverName="ol_machinename" portNumber="1526"/>
    </dataSource>
    
    <library id="InformixLib">
        <fileset dir="C:/Drivers/informix" includes="ifxjdbc.jar ifxjdbcx.jar"/>
    </library>
    Für Microsoft SQL Server (Microsoft-JDBC-Treiber)
    <dataSource id="mssqlserver" jndiName="jdbc/mssqlserver">
        <jdbcDriver libraryRef="MSJDBCLib"/>
        <properties.microsoft.sqlserver databaseName="SAMPLEDB" 
                                        serverName="localhost" portNumber="1433"/>
    </dataSource>
    
    <library id="MSJDBCLib">
        <fileset dir="C:/sqljdbc_4.0/enu" includes="sqljdbc4.jar"/>
    </library>
    Für Microsoft SQL Server (DataDirect Connect for JDBC)
    <dataSource id="ddsqlserver" jndiName="jdbc/ddsqlserver">
        <jdbcDriver libraryRef="DataDirectLib"/>
        <properties.datadirect.sqlserver databaseName="SAMPLEDB" 
                                         serverName="localhost" portNumber="1433"/>
    </dataSource>
    
    <library id="DataDirectLib">
        <fileset dir="C:/DataDirect/Connect-4.2/lib" includes="sqlserver.jar"/>
    </library>
    Für MySQL
    <dataSource id="mySQL" jndiName="jdbc/mySQL">
        <jdbcDriver libraryRef="MySQLLib"/>
        <properties databaseName="SAMPLEDB" serverName="localhost" portNumber="3306"/>
    </dataSource>
    
    <library id="MySQLLib">
        <fileset dir="C:/mysql-connector-java-x.x.xx" 
                 includes="mysql-connector-java-x.x.xx.jar"/>
    </library>
    Für Oracle
    <dataSource id="oracle" jndiName="jdbc/oracle">
        <jdbcDriver libraryRef="OracleLib"/>
        <properties.oracle URL="jdbc:oracle:thin:@//localhost:1521/SAMPLEDB"/>
    </dataSource>
    
    <library id="OracleLib">
        <fileset dir="C:/Oracle/lib" includes="ojdbc6.jar"/>
    </library>
    Für Sybase
    <dataSource id="sybase" jndiName="jdbc/sybase">
        <jdbcDriver libraryRef="SybaseLib"/>
        <properties.sybase databaseName="SAMPLEDB" serverName="localhost" portNumber="5000"/>
    </dataSource>
    
    <library id="SybaseLib">
        <fileset dir="C:/Drivers/sybase" includes="jconn4.jar"/>
    </library>
    Für solidDB
    <dataSource id="solidDB" jndiName="jdbc/solidDB">
        <jdbcDriver libraryRef="solidLib"/>
        <properties databaseName="SAMPLEDB" URL="jdbc:solid://localhost:2315/"/>
    </dataSource>
    
    <library id="solidLib">
        <fileset dir="C:/Drivers/solidDB" includes="SolidDriver2.0.jar"/>
    </library>
    Für einen JDBC-Treiber, der dem Liberty-Profil nicht bekannt ist
    <dataSource id="sample" jndiName="jdbc/sample" type="javax.sql.XADataSource">
        <jdbcDriver libraryRef="SampleJDBCLib" 
                    javax.sql.XADataSource="com.ibm.sample.SampleXADataSource"/>
        <properties databaseName="SAMPLEDB" hostName="localhost" port="12345"/>
    </dataSource>
    
    <library id="SampleJDBCLib">
        <fileset dir="C:/Drivers/SampleJDBC/" includes="sampleDriver.jar"/>
    </library>
    In diesem Beispiel befindet sich der JDBC-Treiber in der Datei C:/Drivers/SampleJDBC/sampleDriver.jar und stellt eine Implementierung von javax.sql.XADataSource mit dem Namen com.ibm.sample.SampleXADataSource bereit. Außerdem stellt der JDBC-Treiber anbieterspezifische Datenquelleneigenschaften wie databaseName, hostName und port bereit.

Symbol das den Typ des Artikels anzeigt. Taskartikel

Nutzungsbedingungen für Information Center | Feedback


Symbol für Zeitmarke Letzte Aktualisierung: 25.08.2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_configuring_ds
Dateiname: twlp_dep_configuring_ds.html