db2_connect

(PECL ibm_db2 >= 1.0.0)

db2_connect — Повертає з'єднання з базою даних

Опис

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

Створення нового з'єднання з базою даних IBM DB2 Universal Database, IBM Cloudscape або Apache Derby database.

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

database

Для каталогізованого з'єднання з базою даних database є псевдонім бази даних у клієнтському каталозі DB2.

Для некаталогізованого підключення до бази даних databaseпредставляет собой полную строку подключения в следующем формате:

DATABASE=database;HOSTNAME=hostname;PORT=port;PROTOCOL=TCPIP;UID=username;PWD=password

де параметри становлять такі значення:

database

Назва бази даних.

hostname

Ім'я хоста або IP-адреса сервера бази даних.

port

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

username

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

password

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

username

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

Для некаталогізованих з'єднань необхідно передати значення null або порожній рядок.

password

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

Для некаталогізованих з'єднань необхідно передати значення null або порожній рядок.

options

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

autocommit

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

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

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_lib

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

i5_naming

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

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

i5_commit

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

Зауваження :

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

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

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

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_connect() повертає false

Приклади

Приклад #1 Створення каталогізованого з'єднання

Каталогізовані з'єднання вимагають, щоб цільова база даних була попередньо каталогізована за допомогою DB2 Command Line Processor (CLP) або DB2 Configuration Assistant.

Loading...

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

Connection succeeded.

Приклад #2 Створення некаталогізованого з'єднання

Некаталогізоване з'єднання дозволяє динамічно підключатися до бази даних.

Loading...

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

Connection succeeded.

Приклад #3 Створення з'єднання з відключеним автокоммітом за замовчуванням

Передача массива параметров в**db2_connect()**позволяет изменять поведение дескриптора соединения по умолчанию.

Loading...

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

Connection succeeded.
Autocommit is off.

Приклад #4 Найкраща продуктивність i5/OS

Для досягнення максимальної продуктивності вашої програми PHP i5/OS ibm_db2 1.5.1 використовуйте стандартний хост, ідентифікатор користувача та пароль для db2_connect()

Loading...

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

ANIMALS
NAMES
PICTURES

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

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

Loading...

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

Explicit trusted connection succeeded.
User has been switched.

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

  • db2_close() - Закриває з'єднання з базою даних
  • db2_pconnect() - Повертає постійне з'єднання з базою даних