티스토리 뷰

- 용도 : codeigniter에서 oracle과 mysql을 동시에 사용하는 방법입니다.

- 환경 : apmsetup 6, oracle 10g

###### 오라클 설치 ############
http://codeigniter-kr.org/tip/view/341/page/1

###### apmsetup 에 오라클 연동 #######
php.ini에서 다음 2개 주석해제후 apm 재시작
extension=php_oci8.dll
extension=php_oracle.dll

##### codeigniter > database.php 설정 ########
 
01.$active_group = "mysql";
02.$active_record = TRUE;
03. 
04.$db['mysql']['hostname'] = "localhost";
05.$db['mysql']['username'] = "root";
06.$db['mysql']['password'] = "apmsetup";
07.$db['mysql']['database'] = "cidb";
08.$db['mysql']['dbdriver'] = "mysql";
09.$db['mysql']['dbprefix'] = "";
10.$db['mysql']['pconnect'] = TRUE;
11.$db['mysql']['db_debug'] = TRUE;
12.$db['mysql']['cache_on'] = FALSE;
13.$db['mysql']['cachedir'] = "";
14.$db['mysql']['char_set'] = "utf8";
15.$db['mysql']['dbcollat'] = "utf8_general_ci";
16. 
17. 
18.$dbhost = "localhost";    //IP of my host database
19.$dbport = "1521";    //Oracle port
20.$dbname= "ORCL";    //My database Name
21. 
22.$dbConnString = "
23. (DESCRIPTION =
24. (ADDRESS_LIST =
25.   (ADDRESS = (PROTOCOL = TCP)(HOST = ".$dbhost.")(PORT = ".$dbport."))
26. 
27. (CONNECT_DATA =
28.     (SID = ORCL)
29.  (SERVICE_NAME = ".$dbname.")
30. ))";
31. 
32.$db['oracle']['hostname'] = $dbConnString;
33.$db['oracle']['username'] = "combort";   
34.$db['oracle']['password'] = "1234";  
35.$db['oracle']['database'] = "";
36.$db['oracle']['dbdriver'] = "oci8";  
37.$db['oracle']['dbprefix'] = "";
38.$db['oracle']['pconnect'] = TRUE;
39.$db['oracle']['db_debug'] = TRUE;
40.$db['oracle']['cache_on'] = FALSE;
41.$db['oracle']['cachedir'] = "";
42.$db['oracle']['char_set'] = "utf8";
43.$db['oracle']['dbcollat'] = "utf8_general_ci";

##### codeigniter > 컨트롤 사용예제 ########

 

01.<?php
02. 
03.class Welcome extends Controller {
04. 
05.    function Welcome()
06.    {
07.        parent::Controller();  
08.        $this->load->dbforge();
09. 
10.        $this->DB1 = $this->load->database('mysql', TRUE);
11.        $this->DB2 = $this->load->database('oracle', TRUE);
12.    }
13.     
14.    function index()
15.    {
16.          echo "mysql or oracle Test";
17.    }
18. 
19.    function mysql_select()
20.    {
21.        $query = $this->DB1->query("select * from board");
22.        foreach ($query->result_array() as $row) {
23. 
24.            echo $row['title'];
25. 
26.        }
27. 
28.        echo "출력";
29.    }
30. 
31. 
32.    function mysql_insert()
33.    {
34.          $this->DB1->query("insert into board(title, memo) values('3','test')");
35.    }
36. 
37. 
38.    function oracle_select()
39.    {
40.        $query = $this->DB2->query("select C_NAME from customer");
41.        foreach ($query->result_array() as $row) {
42. 
43.            echo $row['C_NAME'];
44. 
45.        }
46. 
47.        echo "출력";
48.    }
49. 
50. 
51.    function oracle_insert()
52.    {
53.          $this->DB2->query("insert into customer(C_NO, C_NAME, C_ADDR, C_PHONE, C_DIST) values('3','test','test','1234','11')");
54.    }
55. 
56.}

※ 참고 : ci에서 제공하는 데이터베이스 forge, util은 100% 구현테스트를 못해보았습니다.


첨부파일에 : 1.7.2 기준으로 테스트한 전체 소스 예제 참조하시면 됩니다.

위내용은 Codeigniter 한국사요자포럼의 내용입니다.
원글) http://codeigniter-kr.org/source/view/332/page/1/q/oracle%20+%20mysql


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함