Configuración de la conectividad de base de datos relacional en Liberty
Puede configurar un origen de datos asociado a distintos proveedores de JDBC para la conectividad de base de datos. Los proveedores de JDBC proporcionan las clases de implementación de controlador que son necesarias para la conectividad de JDBC con su base de datos de proveedor específica.
Acerca de esta tarea
- javax.sql.DataSource
Este tipo de origen de datos es la forma básica. No proporciona la interoperatividad que aumenta la agrupación de conexiones, y no puede participar como un recurso con capacidad de dos fases en las transacciones que implican varios recursos.
- javax.sql.ConnectionPoolDataSource
Este tipo de origen de datos está habilitado para la agrupación de conexiones. No puede participar como un recurso con capacidad de dos fases en transacciones que implican varios recursos.
- javax.sql.XADataSource
Este tipo de origen de datos está habilitado para la agrupación de conexiones y puede participar como un recurso con capacidad de dos fases en transacciones que implican varios recursos.
Para poder utilizarlo en Liberty, el controlador JDBC debe proporcionar como mínimo uno de estos tipos de orígenes de datos. Para los controladores JDBC utilizados habitualmente, Liberty ya reconoce los nombres de clase de implementación para los distintos tipos de orígenes de datos. Sólo debe indicar a Liberty dónde se encuentra el controlador JDBC.
Procedimiento
- En el archivo server.xml, defina una biblioteca compartida que apunte a
la ubicación del controlador JDBC o de los archivos comprimidos. Por ejemplo:
<library id="DB2JCC4Lib"> <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- Defina un origen de datos utilizando el controlador JDBC. Si no especifica el tipo de origen de datos,
Liberty elige el origen de datos en el orden siguiente, en función de cuál esté disponible.
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
- javax.sql.XADataSource
Un ejemplo en que se acepta el valor predeterminado para el tipo de origen de datos:<dataSource id="db2" jndiName="jdbc/db2"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
Un ejemplo en que se utiliza el tipo 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>
Hay disponible un origen de datos predeterminado cuando al menos una característica de Java EE 7 está habilitada. Este origen de datos utiliza una prioridad distinta para determinar el tipo si no se especifica ninguna.- javax.sql.XADataSource
- javax.sql.ConnectionPoolDataSource
- javax.sql.DataSource
Este origen de datos está disponible como java:comp/DefaultDataSource. No es necesario especificar un jndiName para él. Para configurar el origen de datos predeterminado, especifique un origen de datos con el ID establecido en DefaultDataSource. Un ejemplo en que se configura el origen de datos predeterminado para que apunte a una base de datos DB2:<dataSource id="DefaultDataSource"> <jdbcDriver libraryRef="DB2JCC4Lib"/> <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/> </dataSource>
- Opcional: Configure los atributos para el origen de datos, tales como las propiedades del proveedor de JDBC y las propiedades de la agrupación de conexiones. Por ejemplo:Para obtener una lista completa de los atributos de configuración para el elemento dataSource, el elemento connectionManager y algunos proveedores de JDBC utilizados habitualmente, consulte Origen de datos (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>
- Opcional: Configure los orígenes de datos para las bases de datos utilizadas habitualmente según los siguientes ejemplos.
- Para 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>
- Para DB2 en iSeries (Nativo)
<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>
- Para DB2 en 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>
- Para 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>
- Para 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>
- Para 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>
- Para 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>
- Para Microsoft SQL Server (controlador JDBC de Microsoft)
<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>
- Para Microsoft SQL Server (DataDirect Connect para 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>
- Para 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>
- Para 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>
- Para 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>
Configure el entorno Liberty para que reconozca las bibliotecas de cliente nativo de OCI estableciendo la vía de acceso de las bibliotecas en el archivo Liberty server.env de la variable de entorno de vía de acceso para el sistema operativo.LIBPATH
SHLIBPATH
LD_LIBRARY_PATH
PATH
Además, establezca la vía de acceso a biblioteca en el archivo de Liberty jvm.options.-Djava.library.path=C:\\Oracle\\OCI\\instantclient
Si desea más información sobre cómo utilizar los archivos de configuración server.env y jvm.options, consulte Personalizar el entorno Liberty.
- Para 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>
- Para 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>
- Para un controlador JDBC desconocido para Liberty
En el ejemplo, el controlador JDBC se encuentra en C:/Drivers/SampleJDBC/sampleDriver.jar y proporciona una implementación de javax.sql.XADataSource denominada com.ibm.sample.SampleXADataSource. El controlador JDBC también proporciona propiedades de origen de datos específicas de proveedor como, por ejemplo, databaseName, hostName y 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>
Subtemas
- Configuración de un origen de datos predeterminado
Puede configurar un origen de datos predeterminado que está asociado a distintos proveedores de JDBC para la conectividad de base de datos. Los proveedores de JDBC proporcionan las clases de implementación de controlador que son necesarias para la conectividad de JDBC con su base de datos de proveedor específica. - Orígenes de datos definidos por la aplicación
Puede definir un origen de datos dentro de la aplicación, mediante anotaciones o en el descriptor de despliegue, tal como se define en la especificación Java™ EE. - Configuración de redirección de cliente para aplicaciones que utilicen bases de datos DB2
Puede utilizar la característica de redirección de cliente para configurar las aplicaciones de empresa para que una base de datos DB2 se recupere de una pérdida de comunicación, y las aplicaciones pueden seguir trabajando con el mínimo de interrupciones. La redirección es fundamental para el soporte de operaciones continuas, pero la redirección solo es posible cuando hay una ubicación alternativa que está identificada en la conexión del servidor de aplicaciones. Habilitación de un controlador DB2 JDBC de Tipo 2 en z/OS
El servidor Liberty se puede habilitar para interactuar con DB2 utilizando la implementación del controlador JDBC de tipo 2 en z/OS.- Configuración de la agrupación de conexiones para conexiones de base de datos
Puede configurar la agrupación de conexiones para el origen de datos definiendo un gestor de conexiones para el mismo.

Nombre de archivo: twlp_dep_configuring_ds.html