Liberty 프로파일에 데이터베이스 연결성 구성
데이터베이스 연결성을 위해 다른 JDBC 제공자와 연관된 데이터 소스를 구성할 수 있습니다. JDBC 제공자는 사용자 특정 벤더 데이터베이스와의 JDBC 연결에 필요한 드라이버 구현 클래스를 제공합니다.
이 태스크 정보
애플리케이션에서 데이터베이스에 액세스하려면,
데이터 소스를 사용해야 합니다. 데이터 소스는 JDBC 드라이버에서 제공되며
다음 다양성으로 제공됩니다.
- javax.sql.DataSource
데이터 소스의 기본 양식입니다. 연결 풀링을 개선하는 상호 운용성을 제공하지 않으며, 2단계 사용 가능 자원으로 다중 자원과 관련된 트랜잭션에 참여할 수 없습니다.
- javax.sql.ConnectionPoolDataSource
이 데이터 소스 유형은 연결 풀링에 대해 사용 가능합니다. 두 단계 사용 가능 자원으로 다중 자원과 관련된 트랜잭션에 참여할 수 없습니다.
- javax.sql.XADataSource
이 유형의 데이터 소스는 연결 풀링에 대해 모두 사용 가능하며 다중 자원과 관련된 트랜잭션에 2단계 사용 자원으로 참여 가능합니다.
Liberty 프로파일에서 사용 가능하게 하려면 JDBC 드라이버가 이 유형의 데이터 소스를 하나 이상 제공해야 합니다. 공통으로 사용된 JDBC 드라이버의 경우 Liberty 프로파일은 반드시 다양한 데이터 소스 유형에 대한 구현 클래스 이름을 인지합니다. JDBC 드라이버를 찾을 수 있는 위치를 Liberty 프로파일에 알려주기만 하면 됩니다.
프로시저
- server.xml 파일에서,
JDBC 드라이버 JAR 또는 압축된 파일의 위치를 가리키는 공유 라이브러리를 정의하십시오. 예:
<library id="DB2JCC4Lib"> <fileset dir="C:/DB2/java" includes="db2jcc4.jar db2jcc_license_cisuz.jar"/> </library>
- 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>
- 옵션: JDBC 벤더 특성 및 연결 풀링 특성과 같이 데이터 소스에 대한 속성을 구성하십시오. 예를 들면 다음과 같은 경우가 있습니다.dataSource 요소, connectionManager 요소 및 일부 공통으로 사용되는 JDBC 벤더의 전체 구성 속성 목록은 server.xml 파일의 구성 요소을 참조하십시오.
<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>
- 옵션: 다음 예제에 따라 공통으로 사용되는 데이터베이스에 대해 데이터 소스를 구성하십시오.
- 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 드라이버의 경우
예제에서, JDBC 드라이버는 C:/Drivers/SampleJDBC/sampleDriver.jar에 있으며 com.ibm.sample.SampleXADataSource라는 javax.sql.XADataSource의 구현을 제공합니다. JDBC 드라이버는 databaseName, hostName, port와 같은 벤더 특정 데이터 소스 특성도 제공합니다.<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>
하위 주제
- 데이터 소스 구성 업데이트 적용 방법
서버 실행 중에 dataSource 요소의 속성을 변경하면, 다양한 속성의 업데이트가 각기 다른 때에 각기 다른 방법으로 적용됩니다. - 애플리케이션 정의 데이터 소스
Java™ EE 스펙에서 정의한 대로 어노테이션 또는 배치 디스크립터를 통해 애플리케이션 내에 데이터 소스를 정의할 수 있습니다. - 데이터베이스 연결을 위한 연결 풀 구성
데이터 소스에 대한 연결 관리자를 정의하여 이에 대한 연결 풀링을 구성할 수 있습니다.
관련 태스크:

Information Center 이용 약관 | 피드백

http://www14.software.ibm.com/webapp/wsbroker/redirect?version=phil&product=was-libcore-mp&topic=twlp_dep_configuring_ds
파일 이름: twlp_dep_configuring_ds.html