oci_new_connect

(PHP 5, PHP 7, PHP 8, PECL OCI8 >= 1.1.0)

oci_new_connect — Встановлює нове з'єднання із сервером Oracle

Опис

oci_new_connect(    string $username,    string $password,    ?string $connection_string = null,    string $encoding = "",    int $session_mode = OCI_DEFAULT): resource|false

Створює нове з'єднання з сервером Oracle та здійснює вхід.

В отличие отoci_connect() і oci_pconnect(), функцияoci_new_connect() не кешує з'єднання і під час кожного виклику встановлює нове з'єднання. Це корисно, якщо додатку необхідна ізоляція транзакції двох наборів запитів.

Список параметрів

username

Ім'я користувача Oracle.

password

Пароль користувача username

connection_string

Містить екземпляр Oracle для підключення. Це може бути » Easy Connect string, або Connect Name з файлу tnsnames.ora, або ім'я локального екземпляра Oracle.

Якщо не вказано окремо або null, PHP використовує змінні оточення, такі як TWO_TASK(на Linux) или**LOCAL(на Windows) иORACLE_SID**для определенияекземпляра Oracleдля соединения.

Для використання методу Easy Connect, PHP має бути з'єднаний з клієнтськими бібліотеками версії Oracle 10gили старше. Easy Connect string для Oracle 10gпринимает следующую форму:[//]host_name[:port][/service_name]. Починаючи з Oracle 11g синтаксис такий: [//]host_name[:port][/service_name][:server_type][/instance_name]. У Oracle 19c було введено додаткові параметри, включаючи налаштування часу очікування та перевірки активності. Зверніться до документації Oracle. Назви служб можуть бути визначені за допомогою запуску Oracle утиліти lsnrctl status на сервері бази даних.

Файл tnsnames.ora може знаходитись у пошуковому шляху Oracle Net, який включає /your/path/to/instantclient/network/admin, $ORACLE_HOME/network/admin та /etc. Як альтернативний варіант можна встановити TNS_ADMIN таким чином, щоб шлях $TNS_ADMIN/tnsnames.ora читав. Переконайтеся, що веб-сервер має доступ до файлу.

encoding

Визначає кодування, яке використовуватимуть клієнтські бібліотеки Oracle. Це кодування не обов'язково має збігатися з кодуванням, яке використовується в самій базі даних. Якщо вона не збігається, Oracle зробить все можливе для конвертування даних з-і в це кодування. Залежно від використовуваних кодувань, це може не завжди давати прийнятні результати. Перетворення також створює деякі додаткові витрати часу.

Якщо кодування не вказано, клієнтські бібліотеки Oracle будуть визначати його зі змінного оточення. NLS_LANG

Передача цього параметра може зменшити час, що витрачається на з'єднання.

session_mode

Цей параметр доступний починаючи з версії PHP 5 (PECL OCI8 1.1) і набуває наступних значень: OCI_DEFAULT OCI_SYSOPER і OCI_SYSDBA. Якщо були вказані **OCI_SYSOPER** або **OCI_SYSDBA**ця функція спробує встановити привілейоване з'єднання, використовуючи зовнішні дані авторизації. За замовчуванням привілейовані з'єднання вимкнено. Щоб їх увімкнути, необхідно встановити oci8.privileged_connectвOn

У версії PHP 5.3 (PECL OCI8 1.3.4) з'явилося значення OCI_CRED_EXT. Воно вказує Oracle використовувати зовнішню автентифікацію або автентифікацію за допомогою операційної системи, що має бути налаштовано у базі даних. Прапор OCI_CRED_EXT може бути використаний лише з ім'ям користувача "/" та порожнім паролем. . oci8.privileged_connect може набувати значення OnилиOff

OCI_CRED_EXT може використовуватися спільно з режимами OCI_SYSOPER і OCI_SYSDBA

OCI_CRED_EXT не підтримується у Windows через безпеку.

Значення, що повертаються

Повертає ідентифікатор з'єднання або **false**в случае возникновения ошибки.

список змін

ВерсияОпис
8.0.0, PECL OCI8 3.0.0connection_string тепер допускає значення null.

Приклади

Наведений нижче приклад ілюструє використання відокремлених сполук.

Приклад #1 Приклад використання oci_new_connect()****

Loading...

Додаткові приклади можна знайти в описі функції oci_connect()

Дивіться також

  • oci_connect() - Встановлює з'єднання з базою даних Oracle
  • oci_pconnect() - Встановлює постійне з'єднання із сервером Oracle