Oracle DB 2중 연결 질문 입니다.
- 작성자 :
- 정*
- 작성일 :
- 2013-12-04 17:52:59
- 조회수 :
- 897
- 구분 :
- 기타
- 진행상태 :
- 완료
Q
사이트에 에러가 있는것 같아요
첨부파일을 선택하면
QnA가 등록되지 않습니다.
(첨부가 누락되어 재 질의 드립니다.)
oracle db 2개 연결 하는 방법 질문 드립니다.
Q&A참고해서 해보았는데 잘 안되네요..
Debug consol에 실행된 쿼리는 로그로 나오는데
결과 값이 없는걸로 봐서
datasource.xml의 Oracle2에 붙어서 처리가 안되는 것 같습니다.
어디가 잘못 된 걸까요??
첨부파일을 선택하면
QnA가 등록되지 않습니다.
(첨부가 누락되어 재 질의 드립니다.)
oracle db 2개 연결 하는 방법 질문 드립니다.
Q&A참고해서 해보았는데 잘 안되네요..
Debug consol에 실행된 쿼리는 로그로 나오는데
결과 값이 없는걸로 봐서
datasource.xml의 Oracle2에 붙어서 처리가 안되는 것 같습니다.
어디가 잘못 된 걸까요??
A
안녕하세요. 정철님.
global transaction이 필요 없으신 상황이면 다음과 같이 진행하시면 됩니다.
* 여러 DataSource 접근 시 (Transaction 필요 없는 경우)
1. DataSource 추가 정의
ex)
<bean id="otherDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
</bean>
2. sqlMapClient 추가 정의
ex)
<bean id="otherSqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocations">
<list>
<value>classpath:/sqlmap/config/*.xml</value>
</list>
</property>
<property name="dataSource" ref="otherDataSource"/>
...
</bean>
3. AbstraceDAO 추가
ex)
public class OtherAbstractDAO extends EgovAbstractDAO {
/**
* DB별 sqlMapClient 지정
*/
@Resource(name = "otherSqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}
4. 개발 DAO 구현 (추가된 AbstractDAO 상속)
결과 값이 로그 상에 나오지 않는 경우는 dataSource 추가와는 상관이 없을 것 같습니다.
일반적으로 사용하신 JDBC Driver가 logging을 지원하는 경우는 log4j 상에서 "java.sql" logger를 추가하신 후에 level을 "DEBUG"로 하시면 수행되는 query와 결과 resultset에 대한 정보를 제공합니다.
혹, 해당 JDBC Driver가 지원하지 않는 경우는 log4jdbc 기능을 활용하시면 되실 것 같습니다. (해당 사용 방법은 인터넷 참조)
그럼, 즐거운 하루되십시오.
감사합니다.
global transaction이 필요 없으신 상황이면 다음과 같이 진행하시면 됩니다.
* 여러 DataSource 접근 시 (Transaction 필요 없는 경우)
1. DataSource 추가 정의
ex)
<bean id="otherDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close">
...
</bean>
2. sqlMapClient 추가 정의
ex)
<bean id="otherSqlMapClient" class="org.springframework.orm.ibatis.SqlMapClientFactoryBean">
<property name="configLocations">
<list>
<value>classpath:/sqlmap/config/*.xml</value>
</list>
</property>
<property name="dataSource" ref="otherDataSource"/>
...
</bean>
3. AbstraceDAO 추가
ex)
public class OtherAbstractDAO extends EgovAbstractDAO {
/**
* DB별 sqlMapClient 지정
*/
@Resource(name = "otherSqlMapClient")
public void setSuperSqlMapClient(SqlMapClient sqlMapClient) {
super.setSuperSqlMapClient(sqlMapClient);
}
}
4. 개발 DAO 구현 (추가된 AbstractDAO 상속)
결과 값이 로그 상에 나오지 않는 경우는 dataSource 추가와는 상관이 없을 것 같습니다.
일반적으로 사용하신 JDBC Driver가 logging을 지원하는 경우는 log4j 상에서 "java.sql" logger를 추가하신 후에 level을 "DEBUG"로 하시면 수행되는 query와 결과 resultset에 대한 정보를 제공합니다.
혹, 해당 JDBC Driver가 지원하지 않는 경우는 log4jdbc 기능을 활용하시면 되실 것 같습니다. (해당 사용 방법은 인터넷 참조)
그럼, 즐거운 하루되십시오.
감사합니다.