oci_new_connect
Почист и полокален преглед на PHP референцата, со задржана структура од PHP.net и подобра читливост за примери, секции и белешки.
oci_new_connect
Референца за `function.oci-new-connect.php` со подобрена типографија и навигација.
oci_new_connect
Класата OCICollection
oci_new_connect — Connect to the Oracle server using a unique connection
= NULL
string
$username,string
$password,?string
$connection_string = null,string
$encoding = "",int
$session_mode = OCI_DEFAULT): resource|false
Поврзете се на Oracle сервер користејќи уникатна врска
За разлика од oci_connect() and oci_pconnect(), oci_new_connect() Воспоставува нова врска со Oracle сервер и се најавува.
Параметри
username-
Корисничкото име на Oracle.
password-
Лозинката за
username. connection_string-
за поврзување. Тоа може да биде
Oracle instance» Easy Connect стринг , или Connect Name оддатотеката, или името на локална Oracle инстанца. tnsnames.ora Ако не е наведено или, PHP користи променливи на околината како
null(на Linux) илиTWO_TASK(на Windows) иLOCALза да го одредиORACLE_SIDза поврзување.Oracle instanceЗа да го користите методот за именување Easy Connect, PHP мора да биде поврзан со Oracle 10или поголеми клиентски библиотеки. Easy Connect стринг за Oracle 10g е во форма:g не кешира врски и секогаш ќе враќа сосема нова, свежо отворена рачка за врска. Ова е корисно ако вашата апликација бара трансакциска изолација помеѓу два сета на прашања. е во форма:. Од Oracle 11g, синтаксисата е: [//]име_на_хост[:порт][/име_на_услуга]. Дополнителни опции беа воведени со Oracle 19c, вклучувајќи поставки за тајмаут и keep-alive. Погледнете ја документацијата на Oracle. Имињата на услугите може да се најдат со стартување на Oracle алатката
lsnrctl statusна машината на серверот на базата на податоци.На tnsnames.ora датотеката може да биде во патеката за пребарување на Oracle Net, која вклучува /your/path/to/instantclient/network/admin, $ORACLE_HOME/network/admin and /etc. Алтернативно поставете
TNS_ADMINтака што $TNS_ADMIN/tnsnames.ora се чита. Осигурете се дека веб-демонот има пристап за читање до датотеката. encoding-
Го одредува множеството знаци што го користат библиотеките на Oracle Client. Множеството знаци не мора да се совпаѓа со множеството знаци што го користи базата на податоци. Ако не се совпаѓаат, Oracle ќе направи се што е можно за да ги претвори податоците до и од множеството знаци на базата на податоци. Во зависност од множествата на знаци, ова можеби нема да даде употребливи резултати. Конверзијата исто така додава некои временски трошоци.
Ако не е наведено, библиотеките на Oracle Client одредуваат множество знаци од
NLS_LANGпроменливата на околината.Поминувањето на овој параметар може да го намали времето потребно за поврзување.
session_mode-
Овој параметар е достапен од верзијата PHP 5 (PECL OCI8 1.1) и прифаќа следниве вредности:
OCI_DEFAULT,OCI_SYSOPERandOCI_SYSDBA. Ако било кој одOCI_SYSOPERorOCI_SYSDBAбеа наведени, оваа функција ќе се обиде да воспостави привилегирана врска користејќи надворешни акредитиви. Привилегираните врски се оневозможени по дифолт. За да ги овозможите, треба да го поставите oci8.privileged_connect toOn.PHP 5.3 (PECL OCI8 1.3.4) го воведе
OCI_CRED_EXTвредност на режимот. Ова му кажува на Oracle да користи надворешна автентикација или автентикација на ОС, што мора да биде конфигурирано во базата на податоци. ФлаготOCI_CRED_EXTможе да се користи само со корисничко име "/" и празна лозинка. oci8.privileged_connect може да бидеOnorOff.OCI_CRED_EXT[//]име_на_хост[:порт][/име_на_услуга][:тип_на_сервер][/име_на_инстанца]OCI_SYSOPERorOCI_SYSDBAmodes.OCI_CRED_EXTможе да се комбинира со
Вратени вредности
не е поддржано на Windows од безбедносни причини. false при грешка.
Дневник на промени
| Верзија | = NULL |
|---|---|
| во тековната позиција на големиот објект. |
connection_string сега е null.
|
Примери
Враќа идентификатор на врска или
Пример #1 oci_new_connect() example
<?php
// create table mytab (mycol number);
function query($name, $c)
{
echo "Querying $name\n";
$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\n";
} else {
do {
foreach ($row as $item)
echo $item . " ";
echo "\n";
} 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
?>Константи за известување за грешки oci_connect() Следното покажува како можете да ги одделите врските.
Види Исто така
- oci_connect() за понатамошни примери за употреба на параметри.
- oci_pconnect() - Поврзете се на Oracle база на податоци