두 개의 DB계정
- 작성자 :
- 박*준
- 작성일 :
- 2011-11-24 14:25:27
- 조회수 :
- 1,912
- 구분 :
- 실행환경
- 진행상태 :
- 완료
Q
시스템 구성 상의 이유로 하나의 사이트에서
DB계정을 두 개로 접속해서 데이터를 가져오는 방식을 취하려 합니다.
한 화면에 두 계정의 데이터에 있는 내용을 같이 보이게 됩니다.
이 경우 계정 정보를 어떻게 설정하고 또 사용해야하는지 궁금합니다.
DBMS는 오라클 11g이고,
두 계정은 물리적으로 같은 DB시스템 안에 있습니다.
(즉 Globals.Uri는 같습니다.)
의견 부탁드립니다.
DB계정을 두 개로 접속해서 데이터를 가져오는 방식을 취하려 합니다.
한 화면에 두 계정의 데이터에 있는 내용을 같이 보이게 됩니다.
이 경우 계정 정보를 어떻게 설정하고 또 사용해야하는지 궁금합니다.
DBMS는 오라클 11g이고,
두 계정은 물리적으로 같은 DB시스템 안에 있습니다.
(즉 Globals.Uri는 같습니다.)
의견 부탁드립니다.
A
context-datasource.xml 파일안에
(bean id="OtherDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close")
(property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/)
(property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:egovfrm" /)
(property name="username" value="com"/)
(property name="password" value="com01"/)
(/bean)
이라고 다른 아이디의 데이타 소스를 하나더 만드시고
context-sqlMap.xml
파일안에
(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"/)
(property name="lobHandler" ref="lobHandler"/)
(/bean)
이라고 작성하시면 일차적으로 두개의 계정을 쓸수있는 정의는 되었고
구현상에서 서비스 파일에서 각기 다른 계정의 내용을 부르는 DAO 를 각각 작성하셔서
부르면 됩니다.
단 컨트롤단을 두개로 만들경우 트랜젝션 처리가 되지 않는 케이스가 생기므로 주의하시기 바랍니다.
(bean id="OtherDataSource" class="org.apache.commons.dbcp.BasicDataSource" destroy-method="close")
(property name="driverClassName" value="oracle.jdbc.driver.OracleDriver"/)
(property name="url" value="jdbc:oracle:thin:@127.0.0.1:1521:egovfrm" /)
(property name="username" value="com"/)
(property name="password" value="com01"/)
(/bean)
이라고 다른 아이디의 데이타 소스를 하나더 만드시고
context-sqlMap.xml
파일안에
(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"/)
(property name="lobHandler" ref="lobHandler"/)
(/bean)
이라고 작성하시면 일차적으로 두개의 계정을 쓸수있는 정의는 되었고
구현상에서 서비스 파일에서 각기 다른 계정의 내용을 부르는 DAO 를 각각 작성하셔서
부르면 됩니다.
단 컨트롤단을 두개로 만들경우 트랜젝션 처리가 되지 않는 케이스가 생기므로 주의하시기 바랍니다.