log4jdbc와 mybatis를 사용하는데 datasource를 jndi방식으로 연결하려합니다
- 작성자 :
- 이*우
- 작성일 :
- 2014-04-22 17:01:26
- 조회수 :
- 2,777
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
mybatis 쿼리로그를 찍으려고 log4jdbc를 사용하려합니다
datasource설정부분을 아래와 같이 하고
<bean id="dataSource_daisy" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/ds_daisy" />
</bean>
톰캣의 server.xml <Resource태그에
driverClassName="net.sf.log4jdbc.DriverSpy"
url="jdbc:log4jdbc:oracle:thin:@IP:PORT:SERVICENAME"
으로 설정하였는데 DAO에서 데이터소스 접근시
java.sql.SQLException: 부적합한 Oracle URL이 지정되었습니다 라는 에러 메세지가 뜹니다.
url의 접두어에 jdbc:log4를 빼면 에러는 안나지만 log4jdbc로 쿼리로그를 찍을수가 없고요
tomcat\lib 폴더에 jar파일도 이것저것 넣어보고 했는데 변함이 없네요
-------------------------------------------------------------------------------------------------------
datasource 설정부분을 동일한 설정으로 아래와 같이 하면 정상동작 합니다.
<bean id="dataSource_daisy" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
<property name="url" value="jdbc:log4jdbc:oracle:thin:@IP:PORT:SERVICENAME"/>
<property name="username" value="xxx"/>
<property name="password" value="xxx"/>
</bean>
jndi방식을 쓰려면 어디를 바꿔야할까요?
-------------------------------------------------------------------------------------------------------
1. log4jdbc접두어만 빼도 동작은 한다
2. 같은설정으로 BasicDataSource를 이용하면 정상동작은 한다
이런 상황설명까지 했는데도 그저 오타였을꺼란 답변이라니....
씁쓸하네요
datasource설정부분을 아래와 같이 하고
<bean id="dataSource_daisy" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:/comp/env/ds_daisy" />
</bean>
톰캣의 server.xml <Resource태그에
driverClassName="net.sf.log4jdbc.DriverSpy"
url="jdbc:log4jdbc:oracle:thin:@IP:PORT:SERVICENAME"
으로 설정하였는데 DAO에서 데이터소스 접근시
java.sql.SQLException: 부적합한 Oracle URL이 지정되었습니다 라는 에러 메세지가 뜹니다.
url의 접두어에 jdbc:log4를 빼면 에러는 안나지만 log4jdbc로 쿼리로그를 찍을수가 없고요
tomcat\lib 폴더에 jar파일도 이것저것 넣어보고 했는데 변함이 없네요
-------------------------------------------------------------------------------------------------------
datasource 설정부분을 동일한 설정으로 아래와 같이 하면 정상동작 합니다.
<bean id="dataSource_daisy" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
<property name="driverClassName" value="net.sf.log4jdbc.DriverSpy"/>
<property name="url" value="jdbc:log4jdbc:oracle:thin:@IP:PORT:SERVICENAME"/>
<property name="username" value="xxx"/>
<property name="password" value="xxx"/>
</bean>
jndi방식을 쓰려면 어디를 바꿔야할까요?
-------------------------------------------------------------------------------------------------------
1. log4jdbc접두어만 빼도 동작은 한다
2. 같은설정으로 BasicDataSource를 이용하면 정상동작은 한다
이런 상황설명까지 했는데도 그저 오타였을꺼란 답변이라니....
씁쓸하네요
A
안녕하세요. 이찬우님.
해당 오류의 내용은 Oracle Driver 상에서 발생된 오류로 실제 Oracle에 대한 URL 지정 방식에 문제가 있는 경우 발생되는 오류인 것 같습니다. (library 지정 상의 문제는 아님)
중간에 ":" 문자 등이 잘못 지정되었는지 다시 확인해 보시면 되실 것 같습니다.
(여러 상황을 설명하셨지만, 명확한 오류의 내용은 URL을 잘못 지정한 내용입니다.)
그럼, 즐거운 하루되십시오.
감사합니다.
해당 오류의 내용은 Oracle Driver 상에서 발생된 오류로 실제 Oracle에 대한 URL 지정 방식에 문제가 있는 경우 발생되는 오류인 것 같습니다. (library 지정 상의 문제는 아님)
중간에 ":" 문자 등이 잘못 지정되었는지 다시 확인해 보시면 되실 것 같습니다.
(여러 상황을 설명하셨지만, 명확한 오류의 내용은 URL을 잘못 지정한 내용입니다.)
그럼, 즐거운 하루되십시오.
감사합니다.