db2_pconnect

(PECL ibm_db2 >= 1.0.0)

db2_pconnect — Повертає постійне з'єднання з базою даних

Опис

db2_pconnect(    string $database,    ?string $username,    ?string $password,    array $options = []): resource|false

Повертає постійне з'єднання з базою даних IBM DB2 Universal Database, IBM Cloudscape або Apache Derby.

Для отримання додаткової інформації про постійні з'єднання дивіться Постійні з'єднання з базами даних

Виклик db2_close() у постійному з'єднанні завжди повертає true, але базове клієнтське з'єднання DB2 залишається відкритим і чекає на обслуговування наступного відповідного запиту db2_pconnect()

Користувачі, які використовують ibm_db2 версії 1.9.0 або пізнішої повинні знати, що модуль виконає відкат транзакції для постійних з'єднань в кінці запиту, тим самим завершивши транзакцію. Це запобігає перенесенню блоку транзакції на наступний запит, який використовує це з'єднання, якщо виконання скрипта завершується раніше, ніж блок транзакції.

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

database

Псевдонім бази даних у клієнтському каталозі DB2.

username

Ім'я користувача, під яким здійснюється підключення до бази даних.

password

Пароль, який використовується для підключення до бази даних.

options

Асоціативний масив параметрів підключення, які впливають на поведінку підключення, де допустимими ключами масиву є:

autocommit

Передача значенияDB2_AUTOCOMMIT_ON включає автоматичну фіксацію цього дескриптора з'єднання.

Передача значенияDB2_AUTOCOMMIT_OFF вимикає автоматичну фіксацію цього дескриптора з'єднання.

DB2_ATTR_CASE

Передача значенияDB2_CASE_NATURAL показує, що імена стовпців повертаються у природному регістрі.

Передача значенияDB2_CASE_LOWER вказує, що імена стовпців повертаються у нижньому регістрі.

Передача значенияDB2_CASE_UPPER вказує, що імена стовпців повертаються у верхньому регістрі.

CURSOR

Передача значенияDB2_FORWARD_ONLY задає курсор лише вперед для ресурсу оператора. Це тип курсору, який підтримується на всіх серверах баз даних.

Передача значенияDB2_SCROLLABLE задає курсор, що прокручується, для ресурсу оператора. Цей режим включає довільний доступ до рядків у наборі результатів, але наразі підтримується лише IBM DB2 Universal Database.

Наступна нова опція доступна в ibm_db2 версії 1.7.0 та новіші.

trustedcontext

Передача значення DB2_TRUSTED_CONTEXT_ENABLE включає довірений контекст цього дескриптора з'єднання. Параметр не можна встановити за допомогою db2_set_option()

Ключ працює лише в тому випадку, якщо база даних каталогізована (навіть якщо база даних є локальною) або якщо ви вкажете повний DSN під час створення з'єднання.

Щоб каталогізувати базу даних, використовуйте такі команди:

db2 catalog tcpip node loopback remoteserverdb2 catalog databaseas at node loopback db2 "update dbm cfg using svcename " db2set DB2COMM=TCPIP

Наступні нові параметри i5/OS доступні в ibm_db2 версії 1.5.1 та новіші.

Підказка

Конфліктуючі атрибути сполуки, що використовуються разом із постійними сполуками, можуть призвести до невизначених результатів у i5/OS. Політики сайту мають бути встановлені для всіх програм, які використовують кожен профіль користувача з постійним підключенням. При використанні постійних з'єднань пропонується значення за замовчуванням DB2_AUTOCOMMIT_ON.

i5_lib

Символьне значення, що вказує стандартну бібліотеку, яка буде використовуватися для дозволу некваліфікованих посилань на файли. Неможливо, якщо з'єднання використовує режим іменування системи.

i5_naming

ЗначениеDB2_I5_NAMING_ON включає режим назви системи DB2 UDB CLI iSeries. Файли кваліфікуються за допомогою роздільника косої межі (/). Некваліфіковані файли дозволяються за допомогою списку бібліотек для завдання.

ЗначениеDB2_I5_NAMING_OFF вимикає стандартний режим іменування CLI DB2 UDB, який є іменем SQL. Файли кваліфікуються за допомогою роздільника точки (.). Некваліфіковані файли дозволяються за допомогою або бібліотеки за промовчанням, або поточного ідентифікатора користувача.

i5_commit

Атрибутi5_commit має бути встановлений до виклику db2_pconnect(). Якщо значення змінюється після того, як з'єднання було встановлено та з'єднання встановлено з віддаленим джерелом даних, зміна не набуде чинності до наступного успішного db2_pconnect() для дескриптора з'єднання.

Зауваження :

Параметр php.iniibm_db2.i5_allow_commit==0 илиDB2_I5_TXN_NO_COMMIT є значенням за промовчанням, але його можна змінити за допомогою параметра i5_commit

DB2_I5_TXN_NO_COMMIT - Контроль фіксації не використовується.

DB2_I5_TXN_READ_UNCOMMITTED - Брудне читання, неповторні reads, and phantoms are possible.

DB2_I5_TXN_READ_COMMITTED - Брудне читання неможливе. Можливі неповторне читання та фантоми.

DB2_I5_TXN_REPEATABLE_READ - Брудне читання та неповторні читання неможливі. Можливі фантоми.

DB2_I5_TXN_SERIALIZABLE - Транзакції серіалізуються. Брудне читання, неповторне читання та фантоми неможливі.

i5_query_optimize

DB2_FIRST_IO Всі запити оптимізовані для максимально швидкого повернення першої сторінки виводу. Ця мета добре працює, коли висновок контролюється користувачем, який швидше за все скасує запит після перегляду першої сторінки вихідних даних. Запити, закодовані з пропозицією OPTIMIZE FOR nnn ROWS, відповідають меті, зазначеній у реченні.

DB2_ALL_IO Усі запити оптимізовані з метою виконати весь запит про завершення у найкоротший термін. Це хороший варіант, коли вихідні дані запиту записуються у файл або звіт або коли інтерфейс ставить вихідні дані у чергу. Запити, закодовані з пропозицією OPTIMIZE FOR nnn ROWS, відповідають меті, зазначеній у реченні. Це значення за промовчанням.

i5_dbcs_alloc

DB2_I5_DBCS_ALLOC_ONЗначение включает схему распределения DB2 6X для увеличения размера столбца преобразования DBCS.

DB2_I5_DBCS_ALLOC_OFF Значення вимикає схему розподілу DB2 6X збільшення розміру стовпця перетворення DBCS.

Зауваження :

Параметр php.iniibm_db2.i5_dbcs_alloc==0 илиDB2_I5_DBCS_ALLOC_OFF є значенням за промовчанням, але його можна змінити за допомогою параметра i5_dbcs_alloc

i5_date_fmt

DB2_I5_FMT_ISO - Використовується формат дати Міжнародної організації стандартизації (ISO) yyyy-mm-dd. Це значення за промовчанням.

DB2_I5_FMT_USA - Використовується формат дати США mm/dd/yyyy.

DB2_I5_FMT_EUR - Використовується європейський формат дати dd.mm.yyyy.

DB2_I5_FMT_JIS - Використовується японський формат дати yyyy-mm-dd.

DB2_I5_FMT_MDY - Використовується формат дати mm/dd/yyyy.

DB2_I5_FMT_DMY - Використовується формат дати dd/mm/yyyy.

DB2_I5_FMT_YMD - Використовується формат дати yy/mm/dd.

DB2_I5_FMT_JUL - Використовується юліанський формат дати yy/ddd.

DB2_I5_FMT_JOB- Используется задание по умолчанию.

i5_date_sep

DB2_I5_SEP_SLASH -В якості роздільника дати використовується коса характеристика (/). Це значення за промовчанням.

DB2_I5_SEP_DASH - Як роздільник дати використовується тире (-).

DB2_I5_SEP_PERIOD - Як роздільник дати використовується точка (.).

DB2_I5_SEP_COMMA - Як роздільник дати використовується кома (,).

DB2_I5_SEP_BLANK - Як роздільник дати використовується пробіл.

DB2_I5_SEP_JOB- Используется задание по умолчанию.

i5_time_fmt

DB2_I5_FMT_ISO - Використовується формат часу Міжнародної організації стандартизації (ISO) hh.mm.ss. Це значення за промовчанням.

DB2_I5_FMT_USA - Використовується формат часу США hh:mmxx, де xx це AM або PM.

DB2_I5_FMT_EUR- Используется европейский формат времени hh.mm.ss.

DB2_I5_FMT_JIS - Використовується японський промисловий стандартний формат hh:mm:ss.

DB2_I5_FMT_HMS- Используется формат hh:mm:ss.

i5_time_sep

DB2_I5_SEP_COLON - Двокрапка (:) використовується як роздільник часу. Це значення за промовчанням.

DB2_I5_SEP_PERIOD - Точка (.) використовується як роздільник часу.

DB2_I5_SEP_COMMA - Кома (,) використовується як роздільник часу.

DB2_I5_SEP_BLANK - Пробіл використовується як роздільник часу.

DB2_I5_SEP_JOB- Используется задание по умолчанию.

i5_decimal_sep

DB2_I5_SEP_PERIOD - Як десятковий роздільник використовується точка (.). Це значення за промовчанням.

DB2_I5_SEP_COMMA - Як десятковий роздільник використовується кома (,).

DB2_I5_SEP_JOB- Используется задание по умолчанию.

Наступна нова опція i5/OS доступна в ibm_db2 версії 1.8.0 та новіші.

i5_libl

Символьне значення, що вказує на список бібліотек, який буде використовуватися для дозволу некваліфікованих посилань на файли. Вкажіть елементи списку бібліотек, розділені пробілами 'i5_libl'=>"MYLIB YOURLIB ANYLIB".

Зауваження :

i5_libl викликає qsys2/qcmdexc ('cmd',cmdlen), який доступний тільки в i5/OS V5R4 та новіший.

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

Повертає ресурс дескриптора підключення у разі успішної спроби підключення . db2_pconnect() намагається повторно використовувати існуючий ресурс підключення, який точно відповідає параметрам database usernameиpassword. Якщо спроба підключення не вдалася, db2_pconnect() поверне false

список змін

ВерсияОпис
ibm_db2 1.9.0Активні транзакції у постійному з'єднанні будуть відкочуватися наприкінці кожного запиту.
ibm_db2 1.8.0Параметрi5_libl доступний для користувачів i5/OS.
ibm_db2 1.7.0Доступний параметр trustedcontext
ibm_db2 1.5.1Параметри i5_libi5_namingi5_commiti5_query_optimizei5_dbcs_alloci5_date_fmti5_date_sepi5_time_fmti5_time_sepиi5_decimal_sep доступні для користувачів i5/OS.

Приклади

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

У наступному прикладі перший виклик db2_pconnect() повертає новий ресурс постійного з'єднання. Другий виклик db2_pconnect() повертає ресурс постійного з'єднання, який просто повторно використовує перший ресурс постійного з'єднання.

Loading...

Результат виконання наведеного прикладу:

Постоянное соединение успешно установлено.
Второе постоянное соединение успешно установлено.

Приклад #2 Використання довіреного контексту

У наступному прикладі показано, як увімкнути довірений контекст, переключити користувачів та отримати поточний ідентифікатор користувача.

Loading...

Результат виконання наведеного прикладу:

Явное доверенное соединение успешно установлено
Пользователь был переключён.

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

  • db2_connect() - Повертає з'єднання з базою даних