Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

oci_set_edition(3) [php man page]

OCI_SET_EDITION(3)														OCI_SET_EDITION(3)

oci_set_edition - Sets the database edition

SYNOPSIS
bool oci_set_edition (string $edition) DESCRIPTION
Sets the database "edition" of objects to be used by a subsequent connections. Oracle Editions allow concurrent versions of applications to run using the same schema and object names. This is useful for upgrading live systems. Call oci_set_edition(3) before calling oci_connect(3), oci_pconnect(3) or oci_new_connect(3). If an edition is set that is not valid in the database, connection will fail even if oci_set_edition(3) returns success. When using persistent connections, if a connection with the requested edition setting already exists, it is reused. Otherwise, a different persistent connection is created PARAMETERS
o $edition - Oracle Database edition name previously created with the SQL " CREATE EDITION" command. NOTES
Note Oracle version requirement This function is available from Oracle 11 gR2 onwards. Caution Persistent connections To avoid inconsistencies and unexpected errors, do not use ALTER SESSION SET EDITION to change the edition on persistent connec- tions. Caution DRCP Connection Pooling To avoid inconsistencies and unexpected errors when using editions and DRCP with Oracle 11.2.0.1, keep a one-to-one correspondence between the oci8.connection_class 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. RETURN VALUES
Returns TRUE on success or FALSE on failure. EXAMPLES
Example #1 Two scripts can use different versions of myfunc() at the same time <?php // File 1 echo "Version 1 of application "; 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 "; ?> <?php // File 2 echo "Version 2 of application "; 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 "; ?> PHP Documentation Group OCI_SET_EDITION(3)

Check Out this Related Man Page

OCI_NEW_CONNECT(3)														OCI_NEW_CONNECT(3)

oci_new_connect - Connect to the Oracle server using a unique connection

SYNOPSIS
resource oci_new_connect (string $username, string $password, [string $connection_string], [string $character_set], [int $ses- sion_mode]) DESCRIPTION
Establishes a new connection to an Oracle server and logs on. Unlike oci_connect(3) and oci_pconnect(3), oci_new_connect(3) does not cache connections and will always return a brand-new freshly opened connection handle. This is useful if your application needs transactional isolation between two sets of queries. PARAMETERS
o $username - The Oracle user name. o $password - The password for $username. o $connection_string -Contains the Oracle instance to connect to. It can be an Easy Connect string, or a Connect Name from the tnsnames.ora file, or the name of a local Oracle instance. If not specified, PHP uses environment variables such as TWO_TASK (on Linux) or LOCAL (on Windows) and ORACLE_SID to determine the Oracle instance to connect to. To use the Easy Connect naming method, PHP must be linked with Oracle 10 g or greater Client libraries. The Easy Connect string for Oracle 10 g is of the form: [//]host_name[:port][/ser- vice_name]. From Oracle 11 g, the syntax is: [//]host_name[:port][/service_name][:server_type][/instance_name]. Service names can be found by running the Oracle utility lsnrctl status on the database server machine. The tnsnames.ora file can be in the Oracle Net search path, which includes $ORACLE_HOME/network/admin and /etc. Alternatively set TNS_ADMIN so that $TNS_ADMIN/tnsnames.ora is read. Make sure the web daemon has read access to the file. o $character_set -Determines the character set used by the Oracle Client libraries. The character set does not need to match the character set used by the database. If it doesn't match, Oracle will do its best to convert data to and from the database character set. Depending on the character sets this may not give usable results. Conversion also adds some time overhead. If not specified, the Oracle Client libraries determine a character set from the NLS_LANG environment variable. Passing this parameter can reduce the time taken to connect. o $session_mode -This parameter is available since version PHP 5 (PECL OCI8 1.1) and accepts the following values: OCI_DEFAULT, OCI_SYSOPER and OCI_SYSDBA. If either OCI_SYSOPER or OCI_SYSDBA were specified, this function will try to establish privileged connection using external credentials. Privileged connections are disabled by default. To enable them you need to set oci8.privileged_connect to On. PHP 5.3 (PECL OCI8 1.3.4) introduced the OCI_CRED_EXT mode value. This tells Oracle to use External or OS authentication, which must be configured in the database. The OCI_CRED_EXT flag can only be used with username of "/" and a empty password. oci8.privileged_connect may be On or Off. OCI_CRED_EXT may be combined with the OCI_SYSOPER or OCI_SYSDBA modes. OCI_CRED_EXT is not supported on Windows for security reasons. RETURN VALUES
Returns a connection identifier or FALSE on error. EXAMPLES
The following demonstrates how you can separate connections. Example #1 oci_new_connect(3) example <?php // create table mytab (mycol number); function query($name, $c) { echo "Querying $name "; $s = oci_parse($c, "select * from mytab"); oci_execute($s, OCI_NO_AUTO_COMMIT); $row = oci_fetch_array($s, OCI_ASSOC); if (!$row) { echo "No rows "; } else { do { foreach ($row as $item) echo $item . " "; echo " "; } while (($row = oci_fetch_array($s, OCI_ASSOC)) != false); } } $c1 = oci_connect("hr", "welcome", "localhost/orcl"); $c2 = oci_new_connect("hr", "welcome", "localhost/orcl"); $s = oci_parse($c1, "insert into mytab values(1234)"); oci_execute($s, OCI_NO_AUTO_COMMIT); query("basic connection", $c1); query("new connection", $c2); oci_commit($c1); query("new connection after commit", $c2); // Output is: // Querying basic connection // 1234 // Querying new connection // No rows // Querying new connection after commit // 1234 ?> See oci_connect(3) for further examples of parameter usage. SEE ALSO
oci_connect(3), oci_pconnect(3). PHP Documentation Group OCI_NEW_CONNECT(3)
Man Page