Configuration de la connectivité de base de données dans le profil Liberty

Vous pouvez configurer une source de données associée à différents fournisseurs JDBC pour implémenter la connectivité aux bases de données. Un fournisseur JDBC fournit les classes d'implémentation de pilote requises pour réaliser la connectivité JDBC avec un type ou une marque de base de données spécifique.

Pourquoi et quand exécuter cette tâche

Pour accéder à une base de données depuis votre application, vous devez utiliser une source de données. Les sources de données sont fournies par les pilotes JDBC, dans les variantes suivantes :
  • javax.sql.DataSource

    C'est la forme basique de source de données. Elle ne fournit pas l'interopérabilité permettant la mise en pool des connexions et ne peut pas participer, en tant que ressource à capacité de validation en deux phases, aux transactions impliquant plusieurs ressources.

  • javax.sql.ConnectionPoolDataSource

    Ce type de source de données se prête à la mise en pool des connexions. Elle ne peut pas participer, en tant que ressource à capacité de validation en deux phases, aux transactions impliquant plusieurs ressources.

  • javax.sql.XADataSource

    Ce type de source de données est à la fois prévue pour la mise en pool des connexions et peut participer, en tant que ressource à capacité de validation en deux phases, aux transactions impliquant plusieurs ressources.

Pour pouvoir être utilisé dans le profil Liberty, votre pilote JDBC doit fournir au moins l'un de ces types de source de données. Pour les pilotes JDBC les plus courants, le profil Liberty connaît déjà le nom des classes d'implémentation des différents types de source de données. Il vous suffit d'indiquer l'emplacement du pilote JDBC.

Procédure

  1. Dans le fichier server.xml, définissez une bibliothèque partagée pointant sur l'emplacement des fichiers JAR ou des fichiers compressés de votre pilote JDBC. Par exemple :
    <library id="DB2JCC4Lib">
        <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
    </library>
  2. Définissez une source de données utilisant le pilote JDBC. Si vous n'indiquez pas le type de source de données, le profil Liberty en choisit un parmi les suivants, dans cet ordre :
    • javax.sql.ConnectionPoolDataSource
    • javax.sql.DataSource
    • javax.sql.XADataSource
    Voici un exemple dans lequel le type de source de données n'est pas précisé (c'est donc le type par défaut qui est utilisé) :
    <dataSource id="db2" jndiName="jdbc/db2">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
    Voici un exemple dans lequel le type javax.sql.XADataSource est explicitement indiqué :
    <dataSource id="db2xa" jndiName="jdbc/db2xa" type="javax.sql.XADataSource">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
  3. Facultatif : Configurez les attributs de la source de données, par exemple les propriétés du fournisseur JDBC et les propriétés du gestionnaire de connexions (mise en pool des connexions).
    Exemple :
    <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>
    Pour la liste complète des attributs de configuration des éléments dataSource et connectionManager ainsi que des propriétés des fournisseurs JDBC les plus courants, consultez la rubrique Eléments de configuration dans le fichier server.xml.
  4. Facultatif : Configurez des sources de données pour les bases de données les plus courantes en vous inspirant des exemples suivants.
    Pour 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>
    Pour DB2 sur iSeries (Native)
    <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>
    Pour DB2 sur 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>
    Pour 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>
    Pour 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>
    Pour 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>
    Pour 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>
    Pour Microsoft SQL Server (pilote Microsoft JDBC)
    <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>
    Pour Microsoft SQL Server (pilote 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>
    Pour 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>
    Pour 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>
    Pour 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>
    Pour 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>
    Pour un pilote JDBC que le profil Liberty ne connaît pas
    <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>
    Dans cet exemple, le pilote JDBC est situé dans C:/Drivers/SampleJDBC/sampleDriver.jar et fournit une implémentation de javax.sql.XADataSource nommée com.ibm.sample.SampleXADataSource. Le pilote JDBC fournit également des propriétés de source de données spécifiques au fournisseur, telles que databaseName, hostName et port.

Icône indiquant le type de rubrique Rubrique Tâche

Dispositions pour les centres de documentation | Commentaires


Icône d'horodatage Dernière mise à jour: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_configuring_ds
Nom du fichier : twlp_dep_configuring_ds.html