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.0 | connection_string тепер допускає значення null. |
Приклади
Наведений нижче приклад ілюструє використання відокремлених сполук.
Приклад #1 Приклад використання oci_new_connect()****
Loading...
Додаткові приклади можна знайти в описі функції oci_connect()
Дивіться також
- oci_connect() - Встановлює з'єднання з базою даних Oracle
- oci_pconnect() - Встановлює постійне з'єднання із сервером Oracle