- 용도 : 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 설정 ########
※ 참고 : ci에서 제공하는 데이터베이스 forge, util은 100% 구현테스트를 못해보았습니다.
첨부파일에 : 1.7.2 기준으로 테스트한 전체 소스 예제 참조하시면 됩니다.
위내용은 Codeigniter 한국사요자포럼의 내용입니다.
원글) http://codeigniter-kr.org/source/view/332/page/1/q/oracle%20+%20mysql
- 환경 : 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