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

设置后续连接将使用的对象的数据库“版本”。

Oracle 版本允许使用相同模式和对象名称同时运行应用程序的不同版本。这对于升级实时系统很有用。

在调用 oci_connect()oci_pconnect()oci_new_connect() 之前调用 oci_set_edition()

如果设置的版本在数据库中无效,即使 oci_set_edition() 返回成功,连接也会失败。

使用持久连接时,如果具有请求的版本设置的连接已经存在,则会重用该连接。否则,将创建不同的持久连接

参数

edition

Oracle 数据库版本名称,先前使用 SQL "CREATE EDITION" 命令创建。

返回值

如果成功,则返回 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 连接池

为避免在使用版本和 DRCP 与 Oracle 11.2.0.1 时出现不一致和意外错误,请在 oci8.connection_class 和应用程序使用的版本名称之间保持一对一对应关系。给定连接类的每个池化服务器都应只与一个版本一起使用。此限制已在 Oracle 11.2.0.2 中删除。

添加注释

用户贡献的注释

此页面没有用户贡献的注释。
To Top