PHP에서 오라클 쿼리

Jmnote bot (토론 | 기여)님의 2017년 6월 27일 (화) 12:49 판 (봇: 자동으로 텍스트 교체 (-== 참고 자료 == +==참고==))
PHP에서 오라클 접속 테스트
PHP에서 오라클 쿼리 테스트
ORA-24408: could not generate unique server group name

1 사전 작업

2 소스 코드

웹서버에 아래 내용으로 test_ora.php 라는 파일을 생성하자.

PHP
Copy
<?php
function xmp_print_r($arr) { echo '<xmp>'; print_r($arr); echo '</xmp>'; }
$conn = oci_connect('사용자명', '비밀번호', 'DB서버주소/서비스명', 'UTF8');
$query = "SELECT to_char(sysdate, 'YYYY-MM-DD HH24:MI:SS') AS Now FROM dual";
$stid = oci_parse($conn, $query) or die('oci parse error: '.oci_error($conn));
if(oci_execute($stid) === false) die("oci query error [ $query ] message : ".oci_error($stid));
oci_fetch_all($stid, $arr, null, null, OCI_FETCHSTATEMENT_BY_ROW);
oci_close($conn);
xmp_print_r($arr);
3행 기입예시
PHP
Copy
$conn = oci_connect('testuser', 'P@ssw0rd', '111.222.33.44/MYSVC', 'UTF8');

3 브라우저 확인 (실패)

브라우저로 test_ora.php에 접속해보자.

text
Copy
Warning: oci_connect(): ORA-24408: could not generate unique server group name in /var/www/html/test_ora.php on line 4 cannot connect: Array
→ 웹서버와 DB서버의 통신에 문제가 있다.
→ 웹서버의 오라클 연동 모듈이 자신(웹서버)를 호출할 때 호스트명을 이용하는 모양이다.

4 hosts 파일 설정

명령어
Bash
Copy
echo -e "자신의아이피\t호스트명" >> /etc/hosts
→ 웹서버 자신의 아이피와 호스트명을 기입한다.
실행예시
Console
Copy
[root@zetawiki ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
[root@zetawiki ~]# echo -e "111.222.33.44\tjmnote" >> /etc/hosts
[root@zetawiki ~]# cat /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
111.222.33.44	jmnote

5 브라우저 확인 (성공)

브라우저에서 test_ora.php에 접속해보자.

text
Copy
Array
(
    [0] => Array
        (
            [NOW] => 2012-09-06 18:12:19
        )
)

6 같이 보기

7 참고