PHP Conference Japan 2024

oci_set_edition

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

oci_set_edition設定資料庫版本

說明

oci_set_edition(字串 $edition): 布林值

設定後續連線所使用的物件的資料庫「版本」。

Oracle 版本允許應用程式的並行版本使用相同的綱要和物件名稱來執行。這對於升級線上系統很有用。

在呼叫 oci_set_edition() 之前呼叫 oci_connect()oci_pconnect()oci_new_connect()

如果設定的版本在資料庫中無效,即使 oci_set_edition() 返回成功,連線也會失敗。

使用持久連線時,如果已存在具有請求版本設定的連線,則會重複使用該連線。否則,會建立不同的持久連線。

參數

edition

先前使用 SQL 指令「CREATE EDITION」建立的 Oracle 資料庫版本名稱。

傳回值

成功時傳回 true,失敗時傳回 false

範例

範例 #1 兩個腳本可以同時使用不同版本的 myfunc()

<?php

// 檔案 1

echo "應用程式版本 1\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
"結果為 $r\n";

?>
<?php

// 檔案 2

echo "應用程式版本 2\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
"結果為 $r\n";

?>

注意事項

注意Oracle 版本需求

此函式從 Oracle 11gR2 開始提供。

注意事項

持續性連線

為避免不一致和意外錯誤,請勿在持續性連線上使用 ALTER SESSION SET EDITION 來更改版本。

注意事項

DRCP 連線池

在 Oracle 11.2.0.1 中使用版本和 DRCP 時,為避免不一致和意外錯誤,請保持 oci8.connection_class 與應用程式使用的版本名稱之間一對一的對應關係。每個指定連線類別的池化伺服器只能與一個版本一起使用。此限制已在 Oracle 11.2.0.2 中移除。

新增註解

使用者提供的註解

此頁面沒有使用者提供的註解。
To Top