1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
|
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision: 293300 $ -->
<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.
</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
-->
|