Configuration de connectivité de base de données relationnelle dans Liberty
Vous pouvez configurer une source de données associée à différents fournisseurs JDBC pour la connectivité à la base 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
- javax.sql.DataSource
Ce type de source de données correspond au format de base. Elle ne fournit aucune interopérabilité facilitant la mise en pool des connexions et, en tant que ressource à deux phases, elle ne peut pas participer 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 à 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 à deux phases, aux transactions impliquant plusieurs ressources.
Pour pouvoir être utilisé dans 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, 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 à Liberty l'emplacement du pilote JDBC.
Procédure
- 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. Exemple :
<library id="DB2JCC4Lib"> <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- Définissez une source de données à l'aide du pilote JDBC. Si vous n'indiquez pas
le type de source de données, Liberty choisit la source de données dans l'ordre suivant,
en fonction des disponibilités :
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.XADataSource
L'exemple suivant accepte la valeur par défaut du type de source de données :<dataSource id="db2" jndiName="jdbc/db2"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
L'exemple suivant utilise le type javax.sql.XADataSource :<dataSource id="db2xa" jndiName="jdbc/db2xa" type="javax.sql.XADataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
Une source de données par défaut est disponible quand au moins une fonction Java EE 7 est activée. Cette source de données utilise une priorité différente afin de déterminer le type si aucun n'est spécifié.- javax.sql.XADataSource
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
Cette source de données est disponible en tant que java:comp/DefaultDataSource. Il n'est pas nécessaire de spécifier de jndiName pour la source. Pour configurer la source de données par défaut, indiquez une source avec l'ID défini sur DefaultDataSource. L'exemple suivant configure la source de données par défaut pour pointer vers une base de données DB2 :<dataSource id="DefaultDataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
- 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 :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 Source de données (dataSource).
<dataSource id="DefaultDataSource" 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>
- 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" 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="DefaultDataSource" jndiName="jdbc/mssqlserver"> <jdbcDriver libraryRef="MSJDBCLib"/> <properties.microsoft.sqlserver databaseName="SAMPLEDB" serverName="localhost" portNumber="1433"/> </dataSource> <library id="MSJDBCLib"> <file name="C:/sqljdbc_6.0/enu/sqljdbc41.jar"/> </library>
- Pour Microsoft SQL Server (pilote DataDirect Connect for JDBC)
<dataSource id="DefaultDataSource" jndiName="jdbc/ddsqlserver"> <jdbcDriver libraryRef="DataDirectLib"/> <properties.datadirect.sqlserver databaseName="SAMPLEDB" serverName="localhost" portNumber="1433"/> </dataSource> <library id="DataDirectLib"> <file name="C:/DataDirect/Connect-4.2/lib/sqlserver.jar"/> </library>
- Pour MySQL
<dataSource id="DefaultDataSource" jndiName="jdbc/mySQL"> <jdbcDriver libraryRef="MySQLLib"/> <properties databaseName="SAMPLEDB" serverName="localhost" portNumber="3306"/> </dataSource> <library id="MySQLLib"> <file name="C:/mysql-connector-java-x.x.xx/mysql-connector-java-x.x.xx.jar"/> </library>
- Pour Oracle
<dataSource id="DefaultDataSource" jndiName="jdbc/oracle"> <jdbcDriver libraryRef="OracleLib"/> <properties.oracle URL="jdbc:oracle:thin:@//localhost:1521/SAMPLEDB"/> </dataSource> <library id="OracleLib"> <file name="C:/Oracle/lib/ojdbc6.jar"/> </library>
- Pour Oracle Call Interface (OCI)
<dataSource id="DefaultDataSource" jndiName="jdbc/oracleOCI"> <jdbcDriver libraryRef="OracleOciLib"/> <properties.oracle URL="jdbc:oracle:oci:@//localhost:1521/SAMPLEDB"/> </dataSource> <library id="OracleOciLib"> <fileset dir="C:/Oracle/OCI/instantclient"/> </library>
Configurez l'environnement Liberty pour reconnaître les bibliothèques client natives OCI en définissant le chemin d'accès aux bibliothèques dans le fichier Liberty server.env sur la variable d'environnement du chemin de votre système d'exploitation.Définissez également le chemin d'accès à la bibliothèque dans le fichier Liberty jvm.options.-Djava.library.path=C:\\Oracle\\OCI\\instantclient
Pour en savoir plus sur l'utilisation des fichiers de configuration server.env et jvm.options, voir Personnalisation de l'environnement Liberty.
- Pour Sybase
<dataSource id="DefaultDataSource" jndiName="jdbc/sybase"> <jdbcDriver libraryRef="SybaseLib"/> <properties.sybase databaseName="SAMPLEDB" serverName="localhost" portNumber="5000"/> </dataSource> <library id="SybaseLib"> <file name="C:/Drivers/sybase/jconn4.jar"/> </library>
- Pour solidDB
<dataSource id="DefaultDataSource" jndiName="jdbc/solidDB"> <jdbcDriver libraryRef="solidLib"/> <properties databaseName="SAMPLEDB" URL="jdbc:solid://localhost:2315/"/> </dataSource> <library id="solidLib"> <file name="C:/Drivers/solidDB/SolidDriver2.0.jar"/> </library>
- Pour un pilote JDBC connu de Liberty
Dans cet exemple, le pilote JDBC se trouve dans C:/Drivers/SampleJDBC/sampleDriver.jar et il 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.<dataSource id="DefaultDataSource" 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"> <file name="C:/Drivers/SampleJDBC/sampleDriver.jar"/> </library>
Sous-rubriques
- Configuration d'une source de données par défaut
Vous pouvez configurer une source de données par défaut associée à différents fournisseurs JDBC pour la connectivité à la base 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. - Stockage de journaux de transaction dans une base de données relationnelle
Vous pouvez définir une source de données au sein de votre application, par le biais d'annotations ou dans le descripteur de déploiement, conformément à la spécification Java™ EE. - Configuration de la redirection du client pour les applications utilisant des bases de données DB2
Vous pouvez utiliser la fonction de redirection du client pour configurer vos applications d'entreprise pour la récupération d'une base de données DB2 après une perte de communication, et les applications peuvent continuer à fonctionner avec un minimum d'interruption. La redirection est un élément central dans la prise en charge du fonctionnement en continu, mais elle est possible uniquement si un emplacement alternatif existe et a été identifié pour la connexion au serveur d'applications. - Activation d'un pilote DB2 JDBC de Type 2 sur z/OS
Le serveur Liberty peut être activé pour interagir avec DB2 via l'implémentation du pilote JDBC de type 2 sous z/OS. - Configuration de la mise en pool des connexions à une base de données
Vous pouvez configurer la mise en pool des connexions de votre source de données en définissant un gestionnaire de connexions pour cette source.

Nom du fichier : twlp_dep_configuring_ds.html