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.ini
ibm_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.ini
ibm_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_lib i5_naming i5_commit i5_query_optimize i5_dbcs_alloc i5_date_fmt i5_date_sep i5_time_fmt i5_time_sep иi5_decimal_sep доступні для користувачів i5/OS. |
Приклади
Приклад #1 Приклад використання db2_pconnect()****
У наступному прикладі перший виклик db2_pconnect() повертає новий ресурс постійного з'єднання. Другий виклик db2_pconnect() повертає ресурс постійного з'єднання, який просто повторно використовує перший ресурс постійного з'єднання.
Loading...
Результат виконання наведеного прикладу:
Постоянное соединение успешно установлено.
Второе постоянное соединение успешно установлено.
Приклад #2 Використання довіреного контексту
У наступному прикладі показано, як увімкнути довірений контекст, переключити користувачів та отримати поточний ідентифікатор користувача.
Loading...
Результат виконання наведеного прикладу:
Явное доверенное соединение успешно установлено
Пользователь был переключён.
Дивіться також
- db2_connect() - Повертає з'єднання з базою даних