在 Liberty 概要文件中配置数据库连接

可以为数据库连接配置与不同 JDBC 提供程序相关联的数据源。JDBC 提供程序提供与特定供应商数据库进行 JDBC 连接所需的驱动程序实现类。

关于此任务

要从应用程序访问数据库,必须使用数据源。数据源由 JDBC 驱动程序提供,具有下列种类:
  • javax.sql.DataSource

    这是数据源的基本形式。它并不提供互操作性来增强连接池,而且不能作为具备两阶段功能的资源来参与涉及多个资源的事务。

  • javax.sql.ConnectionPoolDataSource

    这种数据源已对连接池启用。它不能作为具备两阶段功能的资源来参与涉及多个资源的事务。

  • javax.sql.XADataSource

    这种数据源已对连接池启用,而且能够作为具备两阶段功能的资源参与涉及多个资源的事务。

JDBC 驱动程序必须至少提供其中一种数据源,才能在 Liberty 概要文件中使用。对于常用的 JDBC 驱动程序,Liberty 概要文件已经注意到各种数据源类型的实现类名。只需告知 Liberty 概要文件在何处查找 JDBC 驱动程序。

过程

  1. server.xml 文件中,定义指向 JDBC 驱动程序 JAR 文件位置或压缩文件位置的共享库。 例如:
    <library id="DB2JCC4Lib">
        <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/>
    </library>
  2. 定义使用 JDBC 驱动程序的数据源。如果您未指定这种数据源,那么 Liberty 概要文件会根据可用的类型按下列顺序选择。
    • javax.sql.ConnectionPoolDataSource
    • javax.sql.DataSource
    • javax.sql.XADataSource
    下面是接受缺省数据源类型的示例:
    <dataSource id="db2" jndiName="jdbc/db2">
        <jdbcDriver libraryRef="DB2JCC4Lib"/>
        <properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
    下面是使用 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>
  3. 可选: 配置数据源的属性,例如 JDBC 供应商属性和连接池属性。
    例如:
    <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>
    有关 dataSource 元素、connectionManager 元素及一些常用 JDBC 供应商的配置属性的完整列表,请参阅 在 server.xml 文件中配置元素
  4. 可选: 根据以下示例来配置常用数据库的数据源。
    对于 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>
    对于 DB2 on iSeries®(本机)
    <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>
    对于 DB2 on iSeries(工具箱)
    <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>
    对于 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>
    对于 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>
    对于 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>
    对于 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>
    对于 Microsoft SQL Server(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>
    对于 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>
    对于 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>
    对于 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>
    对于 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>
    对于 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>
    对于 Liberty 概要文件未知的 JDBC 驱动程序
    <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>
    在示例中,JDBC 驱动程序位于 C:/Drivers/SampleJDBC/sampleDriver.jar,并提供名称为 com.ibm.sample.SampleXADataSourcejavax.sql.XADataSource 实现。JDBC 驱动程序还提供特定于供应商的数据源属性,例如 databaseNamehostNameport

用于指示主题类型的图标 任务主题

信息中心的条款和条件 | 反馈


时间戳记图标 最近一次更新时间: Wednesday, 2 September 2015
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_configuring_ds
文件名:twlp_dep_configuring_ds.html