在 Liberty 中配置關聯式資料庫連線功能

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

關於這項作業

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

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

  • javax.sql.ConnectionPoolDataSource

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

  • javax.sql.XADataSource

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

如果要能夠在 Liberty 中使用,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>
    只要啟用至少一項 Java EE 7 特性,就會提供預設資料來源。如果全無指定,此資料來源會使用不同的優先順序來判斷類型。
    • javax.sql.XADataSource
    • javax.sql.ConnectionPoolDataSource
    • javax.sql.DataSource
    此資料來源以 java:comp/DefaultDataSource 形式提供。不需為它指定 jndiName。如果要配置預設資料來源,請指定一個資料來源,並將 id 設為 DefaultDataSource。下列範例是將預設資料來源配置成指向 DB2 資料庫:
    <dataSource id="DefaultDataSource">
    	<jdbcDriver libraryRef="DB2JCC4Lib"/>
    	<properties.db2.jcc databaseName="SAMPLEDB" serverName="localhost" portNumber="50000"/>
    </dataSource>
  3. 選擇性的: 配置資料來源屬性,例如 JDBC 供應商內容及連線儲存區內容。
    例如:
    <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>
    如需 dataSource 元素、connectionManager 元素及某些常用 JDBC 供應商的完整配置屬性清單,請參閱 資料來源 (dataSource)
  4. 選擇性的: 根據下列範例來配置常用資料庫的資料來源。
    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>
    iSeries 上的 DB2(原生)
    <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>
    iSeries 上的 DB2(工具箱)
    <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>
    內嵌 Derby
    <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>
    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>
    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>
    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>
    Microsoft SQL Server(Microsoft JDBC 驅動程式)
    <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>
    Microsoft SQL Server(DataDirect Connect 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>
    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>
    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>
    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>
    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>
    Liberty 無法識別的 JDBC 驅動程式
    <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>
    在這個範例中,JDBC 驅動程式位於 C:/Drivers/SampleJDBC/sampleDriver.jar,且提供了名稱為 com.ibm.sample.SampleXADataSourcejavax.sql.XADataSource 實作。 另外,這個 JDBC 驅動程式也提供了供應商特定資料來源內容,例如 databaseNamehostNameport

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



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