히스토리 | 로그인     현재 페이지 인쇄가능한 버전 보기.  
상세 이슈내용 (XML | Word | 프린트용 화면)

키 : CORE-60
종류: Improvement Improvement
상태: Closed Closed
처리상태: Fixed
우선순위: Minor Minor
담당자: 임소연
보고자: 김일수
참여: 0
관찰자: 0
작업

만일 당신이 로그인 상태 이라면 더 많은 작업을 수행 가능합니다.
Anyframe Core

3.1.0 버젼에서 변경된 DriverSpy 에서 DB2가 가능하도록 개선을 요청합니다.

생성일자: 2008-10-14 04:54 오후   업데이트: 2008-10-17 05:29 오후  만기: 2008-10-24
컴포넌트: Spring Framework
관련 버전: 3.1.0
수정 버전: 3.1.0
보안 등급: Open for All (JIRA에 등록된 모든 사용자가 조회할 수 있는 이슈)

작업시간 추적:
미지정

완료요청일(Expected End Date): 2008-10-24
시작예정일(Planned Start Date): 2008-10-16
시작일(Start Date): 2008-10-17
종료일(End Date): 2008-10-17


 설명  « 숨기기
현재 3.1.0 버젼에서는 기존의 AnyFrameDataSourceSpy 가 아닌

DriverSpy를 사용하고 있습니다. 이로 인해 현재 사이트에서 제시하는 사용 예을 보면

DriverClass 를 통해 DB2 의 드라이버를 호출하는 내용이 변경되어 있습니다.

또한 기존에 쓰던 AnyFrameDataSourceSpy 클래스도 없어져서 3.1.0 버젼에서 DB 로깅처리를

하기가 어렵습니다.

이러한 이유로 현재 3.1.0 에서 제공중인 DriverSpy 에서 DB2도 가능하게 개선을 요청드립니다.

 모두    댓글   작업기록   변경기록   Subversion Commits      정렬 순서: 내림차순 - 내림차순 정렬로 선택
임소연 - 2008-10-17 05:21 오후
***** 위의 댓글이 잘못 업로드되어 정정합니다. *****

DriverSpy를 통해 기본 지원되는 DBMS가 아니어도 별도의 확장없이 SQL Logging을 남길 수 있습니다.
즉, DriverSpy에서 기본적으로 지원하는 JDBC Drvier가 아닌 경우에는 해당 DBMS의 Driver 클래스를 System Property로 셋팅하면 SQL Logging이 가능합니다.

예를 들어, 사용하실 DBMS가 DB2인 경우에 ....
1) DataSource 관련 Spring Bean 속성 정의는 DriverSpy를 통해 SQL Logging을 남기기 위해 기본적으로 정의하는 방식과 동일합니다. driverClassName을 net.sf.log4jdbc.DriverSpy로, 기본 url 서두에 jdbc:log4를 덧붙입니다.
    * 속성 정의 방법은 Anyframe Core 3.1.0 매뉴얼 > Tech. Service > Logging Service > SQL Logging을 참고합니다.
    <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
        <property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
        <property name="url" value="jdbc:log4jdbc:db2://server.ip:port/..."/>
        <property name="username" value="..."/>
        <property name="password" value="..."/>
    </bean>
2) System Property를 셋팅합니다.
Eclipse를 통해 작업하시는 경우 Open Run Diaglog > Arguments 탭 > VM arguments 에 og4jdbc.drivers를 속성키로,
실제 DBMS의 Driver 클래스명을 속성값으로 정의해 줍니다. 다음과 같습니다.
-Dlog4jdbc.drivers=com.ibm.db2.jcc.DB2Driver

참고로, 현재 제공되는 DriverSpy에서 기본적으로 지원하는 JDBC Driver는 다음과 같습니다.

oracle.jdbc.driver.OracleDriver
com.sybase.jdbc2.jdbc.SybDriver
net.sourceforge.jtds.jdbc.Driver
com.microsoft.jdbc.sqlserver.SQLServerDriver
weblogic.jdbc.sqlserver.SQLServerDriver
com.informix.jdbc.IfxDriver
org.apache.derby.jdbc.ClientDriver
org.apache.derby.jdbc.EmbeddedDriver
com.mysql.jdbc.Driver
org.postgresql.Driver
org.hsqldb.jdbcDriver
org.h2.Driver
[ 보이기 ≫ ] 임소연 - 2008-10-17 05:13 오후 DriverSpy에서 기본적으로 지원하는 JDBC Drvier가 아닌 경우에는 해당 DBMS의 Driver 클래스를 System Property로 셋팅하면 SQL Logging이 가능합니다. 예를 들어, 사용하실 DBMS가 DB2인 경우에 .... 1) DataSource 관련 Spring Bean 속성 정의는 다른 DBMS와 동일하게 정의합니다. * 속성 정의 방법은 Anyframe Core 3.1.0 매뉴얼을 참고합니다. <bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close"> <property name="driverClassName" value="<b>net.sf.log4jdbc.DriverSpy</b>"/> <property name="url" value="<b>jdbc:log4</b>jdbc:db2://server.ip:port/..."/> <property name="username" value="..."/> <property name="password" value="..."/> </bean> 참고로, 현재 제공되는 DriverSpy에서 기본적으로 지원하는 JDBC Driver는 다음과 같습니다. oracle.jdbc.driver.OracleDriver com.sybase.jdbc2.jdbc.SybDriver net.sourceforge.jtds.jdbc.Driver com.microsoft.jdbc.sqlserver.SQLServerDriver weblogic.jdbc.sqlserver.SQLServerDriver com.informix.jdbc.IfxDriver org.apache.derby.jdbc.ClientDriver org.apache.derby.jdbc.EmbeddedDriver com.mysql.jdbc.Driver org.postgresql.Driver org.hsqldb.jdbcDriver org.h2.Driver