Liberty 프로파일에 데이터베이스 연결성 구성

데이터베이스 연결성을 위해 다른 JDBC 제공자와 연관된 데이터 소스를 구성할 수 있습니다. JDBC 제공자는 사용자 특정 벤더 데이터베이스와의 JDBC 연결에 필요한 드라이버 구현 클래스를 제공합니다.

이 태스크 정보

애플리케이션에서 데이터베이스에 액세스하려면, 데이터 소스를 사용해야 합니다. 데이터 소스는 JDBC 드라이버에서 제공되며 다음 다양성으로 제공됩니다.
  • javax.sql.DataSource

    데이터 소스의 기본 양식입니다. 연결 풀링을 개선하는 상호 운용성을 제공하지 않으며, 2단계 사용 가능 자원으로 다중 자원과 관련된 트랜잭션에 참여할 수 없습니다.

  • javax.sql.ConnectionPoolDataSource

    이 데이터 소스 유형은 연결 풀링에 대해 사용 가능합니다. 두 단계 사용 가능 자원으로 다중 자원과 관련된 트랜잭션에 참여할 수 없습니다.

  • javax.sql.XADataSource

    이 유형의 데이터 소스는 연결 풀링에 대해 모두 사용 가능하며 다중 자원과 관련된 트랜잭션에 2단계 사용 자원으로 참여 가능합니다.

Liberty 프로파일에서 사용 가능하게 하려면 JDBC 드라이버가 이 유형의 데이터 소스를 하나 이상 제공해야 합니다. 공통으로 사용된 JDBC 드라이버의 경우 Liberty 프로파일은 반드시 다양한 데이터 소스 유형에 대한 구현 클래스 이름을 인지합니다. JDBC 드라이버를 찾을 수 있는 위치를 Liberty 프로파일에 알려주기만 하면 됩니다.

프로시저

  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의 경우(Native)
    <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의 경우(Toolbox)
    <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의 경우 (JDBC용 DataDirect Connect 드라이버)
    <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.SampleXADataSource라는 javax.sql.XADataSource의 구현을 제공합니다. JDBC 드라이버는 databaseName, hostName, port와 같은 벤더 특정 데이터 소스 특성도 제공합니다.

주제의 유형을 표시하는 아이콘 태스크 주제

Information Center 이용 약관 | 피드백


시간소인 아이콘 마지막 업데이트 날짜: 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