CodeIgniter 한국사용자포럼 BETA
빠르고, 유연한 PHP Framework!

CI 코드


[팁] Oracle + mysql 동시사용
ci세상 0 1,288 0 0 2009-11-18 11:58:57


- 용도 : 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 설정 ########
 

$active_group = "mysql";
$active_record = TRUE;

$db['mysql']['hostname'] = "localhost";
$db['mysql']['username'] = "root";
$db['mysql']['password'] = "apmsetup";
$db['mysql']['database'] = "cidb";
$db['mysql']['dbdriver'] = "mysql";
$db['mysql']['dbprefix'] = "";
$db['mysql']['pconnect'] = TRUE;
$db['mysql']['db_debug'] = TRUE;
$db['mysql']['cache_on'] = FALSE;
$db['mysql']['cachedir'] = "";
$db['mysql']['char_set'] = "utf8";
$db['mysql']['dbcollat'] = "utf8_general_ci";


$dbhost = "localhost";    //IP of my host database
$dbport = "1521";    //Oracle port
$dbname= "ORCL";    //My database Name

$dbConnString = "
 (DESCRIPTION =
 (ADDRESS_LIST =
   (ADDRESS = (PROTOCOL = TCP)(HOST = ".$dbhost.")(PORT = ".$dbport."))
 )  
 (CONNECT_DATA = 
     (SID = ORCL)
  (SERVICE_NAME = ".$dbname.")
 ))";

$db['oracle']['hostname'] = $dbConnString;
$db['oracle']['username'] = "combort";    
$db['oracle']['password'] = "1234";   
$db['oracle']['database'] = "";
$db['oracle']['dbdriver'] = "oci8";   
$db['oracle']['dbprefix'] = "";
$db['oracle']['pconnect'] = TRUE;
$db['oracle']['db_debug'] = TRUE;
$db['oracle']['cache_on'] = FALSE;
$db['oracle']['cachedir'] = "";
$db['oracle']['char_set'] = "utf8";
$db['oracle']['dbcollat'] = "utf8_general_ci";

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

 

<?php

class Welcome extends Controller {

	function Welcome()
	{
		parent::Controller();	
		$this->load->dbforge();

		$this->DB1 = $this->load->database('mysql', TRUE);
		$this->DB2 = $this->load->database('oracle', TRUE);
	}
	
	function index()
	{
		  echo "mysql or oracle Test";
	}

	function mysql_select()
	{
		$query = $this->DB1->query("select * from board");
		foreach ($query->result_array() as $row) {

			echo $row['title'];

		}

		echo "출력";
	}


	function mysql_insert()
	{
		  $this->DB1->query("insert into board(title, memo) values('3','test')");
	}


	function oracle_select()
	{
		$query = $this->DB2->query("select C_NAME from customer");
		foreach ($query->result_array() as $row) {

			echo $row['C_NAME'];

		}

		echo "출력";
	}


	function oracle_insert()
	{
		  $this->DB2->query("insert into customer(C_NO, C_NAME, C_ADDR, C_PHONE, C_DIST) values('3','test','test','1234','11')");
	}

}


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


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

 


  목록     글쓰기  

번호 제   목 글쓴이 날짜 조회 추천수
471 CI 1.7.2 한글 언어팩 1.1 [1] cleansugar 2010-08-26 97 0
470 Upload 라이브러리 수정본 [0] sisco 2010-07-28 206 0
464 iScaffold [3] 준이 2010-07-26 199 0
458 이미지 등분하기_helper [0] 마냐 2010-06-18 321 0
445 CodeIgniter 에서 객체를 수동으로 생성해서.. [3] 서치 2010-05-27 415 0
444 CodeIgniter 에서 PEAR 라이브러리 사용하기 [2] 서치 2010-05-27 372 0
443 Codeigniter 에서 세션 사용하기(세션이 비.. [0] 서치 2010-05-27 556 0
442 codeigniter library 에서 객체 사용하기 [0] 서치 2010-05-27 299 0
441 codeigniter 에서 Library 폴더를 서.. [3] 서치 2010-05-27 340 0
440 CodeIgniter에서 controller와 me.. [2] 서치 2010-05-27 366 0
433 CodeIgniter로 만든 웹사이트.. [5] 서치 2010-05-25 689 0
427 [예제]새 나온 책입니다. [2] 준이 2010-05-21 539 0
425 CI에서 CRUD - 원서일부 번역한 것 [3] Max 2010-05-20 401 0
419 [예제]CI 공부 하기 좋은 자료 [3] 준이 2010-05-13 646 0
401 Codeigniter 기반 공개보드 [22] 마냐 2010-04-28 3611 0
389 [예제] cieditor 웹에디터 [4] ci세상 2010-02-26 1277 4
386 [예제] 폼헬퍼 > 동적 다중셀렉트 (1단, 2단) [1] ci세상 2010-02-19 817 0
385 [예제] 폼검증 > 컨트롤러 (쓰기,수정 동시처리) [1] ci세상 2010-02-18 710 0
383 [예제] 폼검증 > 콜백 [0] ci세상 2010-02-18 640 0
379 CI 코드실 너무 썰렁한거 아닌가요? [3] ci세상 2010-02-12 695 0