PHP
downloads | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

oci_new_cursor> <oci_new_collection
Last updated: Fri, 01 Aug 2008

view this page in

oci_new_connect

(PHP 5, PECL oci8:1.1-1.2.4)

oci_new_connectEstablishes a new connection to the Oracle server

Descrierea

resource oci_new_connect ( string $username , string $password [, string $db [, string $charset [, int $session_mode ]]] )

Establishes a new connection to an Oracle server and logs on.

Unlike oci_connect() and oci_pconnect(), oci_new_connect() 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.

Parametri

username

The Oracle user name.

password

The password for username .

db

This optional parameter can either contain the name of the local Oracle instance or the name of the entry in tnsnames.ora.

If the not specified, PHP uses environment variables ORACLE_SID and TWO_TASK to determine the name of local Oracle instance and location of tnsnames.ora accordingly.

charset

Utilizând Oracle server de versiune 9.2 sau ulterioară, puteţi să indicaţi charset în calitate de parametru, care va fi utilizat în noua conexiune. Dacă utilizaţi Oracle server < 9.2, acest parametru va fi ignorat şi în loc va fi utilizată variabila de mediu NLS_LANG.

session_mode

This parameter is available since version 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.

Valorile întroarse

Returns a connection identifier or FALSE on error.

Exemple

The following demonstrates how you can separate connections.

Example #1 oci_new_connect() example

<?php
echo "<html><pre>";
$db "";

$c1 oci_connect("scott""tiger"$db);
$c2 oci_new_connect("scott""tiger"$db);

function 
create_table($conn)
{
  
$stmt oci_parse($conn"create table scott.hallo (test
varchar2(64))"
);
  
oci_execute($stmt);
  echo 
$conn " created table\n\n";
}

function 
drop_table($conn)
{
  
$stmt oci_parse($conn"drop table scott.hallo");
  
oci_execute($stmt);
  echo 
$conn " dropped table\n\n";
}

function 
insert_data($conn)
{
  
$stmt oci_parse($conn"insert into scott.hallo
            values('$conn' || ' ' || to_char(sysdate,'DD-MON-YY HH24:MI:SS'))"
);
  
oci_execute($stmtOCI_DEFAULT);
  echo 
$conn " inserted hallo\n\n";
}

function 
delete_data($conn)
{
  
$stmt oci_parse($conn"delete from scott.hallo");
  
oci_execute($stmtOCI_DEFAULT);
  echo 
$conn " deleted hallo\n\n";
}

function 
commit($conn)
{
  
oci_commit($conn);
  echo 
$conn " committed\n\n";
}

function 
rollback($conn)
{
  
oci_rollback($conn);
  echo 
$conn " rollback\n\n";
}

function 
select_data($conn)
{
  
$stmt oci_parse($conn"select * from scott.hallo");
  
oci_execute($stmtOCI_DEFAULT);
  echo 
$conn "----selecting\n\n";
  while (
oci_fetch($stmt)) {
    echo 
$conn " <" oci_result($stmt"TEST") . ">\n\n";
  }
  echo 
$conn "----done\n\n";
}

create_table($c1);
insert_data($c1);

select_data($c1);
select_data($c2);

rollback($c1);

select_data($c1);
select_data($c2);

insert_data($c2);
commit($c2);

select_data($c1);

delete_data($c1);
select_data($c1);
select_data($c2);
commit($c1);

select_data($c1);
select_data($c2);

drop_table($c1);
echo 
"</pre></html>";
?>

Note

Notă: If you're using PHP with Oracle Instant Client, you can use easy connect naming method described here: » http://download-west.oracle.com/docs/cd/B12037_01/network.101/b10775/naming.htm#i498306. Basically this means you can specify "//db_host[:port]/database_name" as database name. But if you want to use the old way of naming you must set either ORACLE_HOME or TNS_ADMIN.

Notă: In PHP versions before 5.0.0 you must use ocinlogon() instead. This name still can be used, it was left as alias of oci_new_connect() for downwards compatability. This, however, is deprecated and not recommended.

Vedeţi de asemenea



add a note add a note User Contributed Notes
oci_new_connect
There are no user contributed notes for this page.

oci_new_cursor> <oci_new_collection
Last updated: Fri, 01 Aug 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites