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.ini
ibm_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() - Повертає постійне з'єднання з базою даних