CI 묻고 답하기

제목 CI에서 멀티 DB 연결 질문드립니다.
글쓴이 풀리야 작성시각 2014/05/20 17:51:55
댓글 : 3 추천 : 0 스크랩 : 0 조회수 : 19811   RSS
검색을 좀 해봤는데 못 찾겠네요;
CI에서 멀티 DB에 연결할 수 있는 방법이 있을까요?

필요에 따라서 n개의 mysql 데이터베이스 중에서 특정 DB와 커넥션하여 데이터를 조회할 필요가 생겼습니다.

혹, 샘플이나 방법 등이 있다면 알려주시면 감사하겠습니다.

 
 다음글 library 만드는것에 대한 관련 질문입니다. (3)
 이전글 페이지네이션에서 뭔가 계속 잘안됩니다.. 도와주세요! (1)

댓글

풀리야 / 2014/05/20 18:07:12 / 추천 0
자답입니다.(혹, 잘못되거나 수정할게 있다면 알려주세요)
=================================================
http://stackoverflow.com/questions/634291/codeigniter-using-multiple-databases 를 참고하였습니다.

1. database.php 에 추가 DB 설정
2. 기존과 신규 DB의 pconnect 값을 FALSE로 변경
3. Session.php의 87라인쯤의 내용 수정
  - 기존 $this->CI->load->database 를 주석처리하고
   $this->CI->db = $this->CI->load->database('default', TRUE); 를 추가하면
  위 패턴과 동일하게(default만 설정한 DB이름으로 바꿔서) 한줄 더 추가
 
변종원(웅파) / 2014/05/20 18:37:13 / 추천 0
검색해보시면 자료 있습니다.

굳이 core파일 안건드리셔도 됩니다.

default는 그대로 쓰시고 database에 second 내용 추가후
2번째 연결부터 $this->second_db = $this->load->database('second', true);

$this->second_db->query() 형태로 쓰시면 됩니다.
풀리야 / 2014/05/21 11:31:03 / 추천 0
답변 감사드립니다.
말씀 하신데로 해보니 잘 되네요.

자바 개발자가 CI+PHP 로 개발하다 보니 궁금한 점이 많네요.
(왼쪽 배너의 책 구매했습니다. 정독해봐야겠네요^^)