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

Para acceder a una base de datos desde su aplicación, debe utilizar un origen de datos. Los orígenes de datos los proporcionan los controladores JDBC y se presentan con las siguientes variedades:
  • 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

  1. 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>
  2. 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>
  3. 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:
    <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>
    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).
  4. 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">
        <fileset dir="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">
        <fileset dir="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">
        <fileset dir="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">
        <fileset dir="C:/Oracle/lib/ojdbc6.jar"/>
    </library>
    Para Sybase
    <dataSource id="DefaultDataSource" jndiName="jdbc/sybase">
        <jdbcDriver libraryRef="SybaseLib"/>
        <properties.sybase databaseName="SAMPLEDB" serverName="localhost" portNumber="5000"/>
    </dataSource>
    
    <library id="SybaseLib">
        <fileset dir="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">
        <fileset dir="C:/Drivers/solidDB/SolidDriver2.0.jar"/>
    </library>
    Para un controlador JDBC desconocido para Liberty
    <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">
        <fileset dir="C:/Drivers/SampleJDBC/sampleDriver.jar"/>
    </library>
    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.

Icono que indica el tipo de tema Tema de tarea



Icono de indicación de fecha y hora Última actualización: Tuesday, 6 December 2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-libcore-mp&topic=twlp_dep_configuring_ds
Nombre de archivo:twlp_dep_configuring_ds.html