mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-28 14:58:55 +00:00

git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@328558 c90b9560-bf6c-de11-be94-00142212c4b1
162 lines
4.1 KiB
XML
162 lines
4.1 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<refentry xml:id="function.oci-set-edition" xmlns="http://docbook.org/ns/docbook">
|
|
<refnamediv>
|
|
<refname>oci_set_edition</refname>
|
|
<refpurpose>Sets the database edition</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description">
|
|
&reftitle.description;
|
|
<methodsynopsis>
|
|
<type>bool</type><methodname>oci_set_edition</methodname>
|
|
<methodparam><type>string</type><parameter>edition</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
Sets the database "edition" of objects to be used by a subsequent
|
|
connections.
|
|
</para>
|
|
<para>
|
|
Oracle Editions allow concurrent versions of applications to run
|
|
using the same schema and object names. This is useful for
|
|
upgrading live systems.
|
|
</para>
|
|
<para>
|
|
Call <function>oci_set_edition</function> before calling
|
|
<function>oci_connect</function>, <function>oci_pconnect</function>
|
|
or <function>oci_new_connect</function>.
|
|
</para>
|
|
<para>
|
|
If an edition is set that is not valid in the database, connection
|
|
will fail even if <function>oci_set_edition</function> returns success.
|
|
</para>
|
|
<para>
|
|
When using persistent connections, if a connection with the
|
|
requested edition setting already exists, it is reused. Otherwise,
|
|
a different persistent connection is created
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="parameters">
|
|
&reftitle.parameters;
|
|
<para>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>edition</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
Oracle Database edition name previously created with the <acronym>SQL</acronym>
|
|
"<literal>CREATE EDITION</literal>" command.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="notes">
|
|
&reftitle.notes;
|
|
<note>
|
|
<title>Oracle version requirement</title>
|
|
<para>
|
|
This function is available from Oracle 11gR2 onwards.
|
|
</para>
|
|
</note>
|
|
<caution>
|
|
<title>Persistent connections</title>
|
|
<para>
|
|
To avoid inconsistencies and unexpected errors, do not use ALTER
|
|
SESSION SET EDITION to change the edition on persistent connections.
|
|
</para>
|
|
</caution>
|
|
<caution>
|
|
<title>DRCP Connection Pooling</title>
|
|
<para>
|
|
To avoid inconsistencies and unexpected errors when using editions
|
|
and <link linkend="oci8.connection">DRCP</link> with Oracle
|
|
11.2.0.1, keep a one-to-one correspondence between
|
|
the <link linkend="ini.oci8.connection-class">oci8.connection_class</link>
|
|
and the edition name used by applications. Each pooled server of
|
|
a given connection class should only be used with one edition.
|
|
This restriction has been removed with Oracle 11.2.0.2.
|
|
</para>
|
|
</caution>
|
|
</refsect1>
|
|
|
|
<refsect1 role="returnvalues">
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
&return.success;
|
|
</para>
|
|
</refsect1>
|
|
|
|
<refsect1 role="examples">
|
|
&reftitle.examples;
|
|
<para>
|
|
<example>
|
|
<title>Two scripts can use different versions of myfunc() at the same time</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?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";
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?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";
|
|
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
</example>
|
|
</para>
|
|
</refsect1>
|
|
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|