在 Liberty 設定檔中配置資料庫連線功能

您可以針對資料庫連線功能來配置與不同 JDBC 提供者相關聯的資料來源。 JDBC 提供者會供應與特定的供應商資料庫之 JDBC 連線功能所需要的驅動程式實作類別。

關於這項作業

如果要從您的應用程式存取資料庫,您必須使用資料來源。 資料來源是 JDBC 驅動程式所提供,變式如下:
  • javax.sql.DataSource

    這是資料來源的基本形式。 它不提供能夠強化連線儲存區的交互作業能力,也無法作為具備兩段式功能的資源來參與涉及多重資源的交易。

  • javax.sql.ConnectionPoolDataSource

    這類型的資料來源具備連線儲存區功能。 它無法作為具備兩段式功能的資源來參與涉及多重資源的交易。

  • javax.sql.XADataSource

    這類型的資料來源既具備連線儲存區功能,又能夠作為具備兩段式功能的資源來參與涉及多重資源的交易。

如果要能夠在 Liberty 設定檔中使用 JDBC 驅動程式,JDBC 驅動程式至少必須提供這些類型的資料來源之一。 對於常用的 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>
    iSeries® 上的 DB2(原生)
    <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>
    iSeries 上的 DB2(工具箱)
    <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
    <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 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

指示主題類型的圖示 作業主題

資訊中心條款 | 意見


「時間戳記」圖示 前次更新: 2015 年 6 月 22 日
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_configuring_ds
檔名:twlp_dep_configuring_ds.html