oci_set_edition

(PHP 5 >= 5.3.2, PHP 7, PHP 8, PECL OCI8 >= 1.4.0)

oci_set_edition — 데이터베이스 에디션을 설정합니다.


설명

oci_set_edition(string $edition): bool

후속 연결에서 사용할 개체의 데이터베이스 "edition"을 설정합니다.

racle Edition을 사용하면 동일한 스키마 및 개체 이름을 사용하여 동시 버전의 응용 프로그램을 실행할 수 있습니다. 이것은 라이브 시스템을 업그레이드하는 데 유용합니다.

oci_connect(), oci_pconnect() 또는 oci_new_connect()를 호출하기 전에 oci_set_edition()을 호출하십시오.

데이터베이스에서 유효하지 않은 에디션이 설정되면 oci_set_edition()이 성공을 반환하더라도 연결이 실패합니다.

영구 연결을 사용할 때 요청한 에디션 설정과의 연결이 이미 존재하는 경우 재사용됩니다. 그렇지 않으면 다른 영구 연결이 생성됩니다.


매개변수

edition
이전에 SQL "CREATE EDITION" 명령으로 생성된 Oracle Database 에디션 이름입니다.

반환 값

성공하면 true를, 실패하면 false를 반환합니다.


Examples

예제 #1 두 개의 스크립트가 동시에 다른 버전의 myfunc()를 사용할 수 있습니다.

                  
<?php

// File 1

echo "Version 1 of application\n";

oci_set_edition('ORA$BASE');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
                    
                  
                   
<?php

// File 2

echo "Version 2 of application\n";

oci_set_edition('E1');
$c = oci_connect('hr', 'welcome', 'localhost/XE');

$s = oci_parse($c, "begin :r := myfunc(); end;");
oci_bind_by_name($s, ":r", $r, 20);
oci_execute($s);
echo "The result is $r\n";

?>
                     
                   

노트

메모: Oracle 버전 요구 사항

이 함수는 Oracle 11gR2부터 사용할 수 있습니다.

주 의

Persistent connections

불일치 및 예기치 않은 오류를 방지하려면 ALTER SESSION SET EDITION을 사용하여 영구 연결에서 에디션을 변경하지 마십시오.

주 의

DRCP Connection Pooling

Oracle 11.2.0.1과 함께 에디션 및 DRCP를 사용할 때 불일치 및 예기치 않은 오류를 방지하려면 oci8.connection_class와 애플리케이션에서 사용하는 에디션 이름 간에 일대일 대응을 유지하십시오. 지정된 연결 클래스의 각 풀링된 서버는 하나의 에디션에서만 사용해야 합니다. 이 제한은 Oracle 11.2.0.2에서 제거되었습니다.