db2_set_option

(PECL ibm_db2 >= 1.0.0)

db2_set_option — Встановіть опцію для з'єднання або ресурсу оператора.

Опис

db2_set_option(resource $resource, array $options, int $type): bool

Встановіть опцію для з'єднання або ресурсу оператора. Для ресурсу результуючого набору опції не можна задавати.

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

resource

Коректний ресурс оператора, отриманий з db2_prepare() або ж ресурс з'єднання, отриманий з db2_connect() або db2_pconnect()

options

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

autocommit

DB2_AUTOCOMMIT_ON- включить режим автоподтверждения транзакций для заданного соединения.

DB2_AUTOCOMMIT_OFF- отключить режим автоподтверждения транзакций для заданного соединения.

cursor

DB2_FORWARD_ONLY - Задати тип курсору "тільки вперед". Це тип за промовчанням і він підтримується всіма базами даних.

DB2_SCROLLABLE - задати тип курсору як "перемотується". Даний тип курсору дозволяє отримувати доступ до довільних рядків результуючого набору та доступний лише для IBM DB2 Universal Database.

binmode

DB2_BINARY - Визначає, що бінарні дані будуть повернуті як є. Це режим за промовчанням, він рівносильний завданню ibm_db2.binmode=1в php.ini.

DB2_CONVERT - Визначає, що бінарні дані будуть сконвертовані в шістнадцяткове подання. Рівносильно завдання ibm_db2.binmode=2в php.ini.

DB2_CONVERT - визначає, що бінарні дані будуть сконвертовані в null. Рівносильно завдання ibm_db2.binmode=3в php.ini.

db2_attr_case

DB2_CASE_LOWER - Визначає, що імена стовпців будуть повернуті в нижньому регістрі.

DB2_CASE_UPPER - Визначає, що імена стовпців будуть повернуті у верхньому регістрі.

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

deferred_prepare

DB2_DEFERRED_PREPARE_ON - Включає відкладену підготовку ресурсу оператора.

DB2_DEFERRED_PREPARE_OFF - Вимикає відстрочену підготовку ресурсу оператора.

Наступні нові опції i5/OS доступні в ibm_db2 версії 1.5.1 та вище. Ці опції доступні лише якщо PHP та ibm_db2 запущено на системі i5.

i5_fetch_only

DB2_I5_FETCH_ON - курсори можуть бути тільки для читання і не можуть використовуватися для позиціонування DELETE або UPDATE. Є поведінкою за умовчанням, тільки якщо змінна оточення SQL_ATTR_FOR_FETCH_ONLYне установлена вSQL_FALSE

DB2_I5_FETCH_OFF - курсори можна використовувати для позиціонування DELETE або UPDATE.

Наступні нові опції доступні в ibm_db2 версії 1.8.0 та вище.

rowcount

DB2_ROWCOUNT_PREFETCH_ON - клієнт може запитати кількість рядків перед вилученням, що означає, що функція db2_num_rows() поверне кількість вибраних рядків, навіть якщо використовується курсор ROLLFORWARD_ONLY

DB2_ROWCOUNT_PREFETCH_OFF - клієнт не може запитати кількість рядків перед вилученням

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

trusted_user

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

trusted_password

Пароль (рядок), що відповідає ідентифікатору користувача, заданому в trusted_user.

Наступні нові опції доступні в ibm_db2 версії 1.6.0 та вище. Ці опції надають корисну інформацію, яку можна отримати через db2_get_option()

Зауваження :

Якщо значення кожної опції встановлено, деякі сервери можуть не зуміти обробити всі значення та обріжуть його.

Для впевненості в тому, що всі опції конвертовані коректно під час передачі на хост, використовуйте лише символи A-Z, 0-9, підкреслення(_) та точку (.).

userid

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

Зауваження :

DB2 для серверів z/OS та OS/390 підтримує довжину до 16 символів. Ідентифікатор користувача не скомпрометує ідентифікатор авторизації – це різні сутності.

acctstr

SQL_ATTR_INFO_ACCTSTR - покажчик на символьний рядок, що закінчується null-байтом і використовується для ідентифікації облікового рядка клієнта, відповідного надісланого сервера при з'єднанні.

Зауваження :

DB2 для серверів z/OS та OS/390 підтримує довжину до 200 символів.

applname

SQL_ATTR_INFO_APPLNAME - вказівник на символьний рядок, що закінчується null-байтом і використовується для ідентифікації імені клієнтської програми, відповідної надісланої на сервер під час з'єднання.

Зауваження :

DB2 для серверів z/OS та OS/390 підтримує довжину до 32 символів.

wrkstnname

SQL_ATTR_INFO_WRKSTNNAME - вказівник на символьний рядок, що закінчується null-байтом і використовується для ідентифікації імені робочої станції, відповідної надісланої на сервер при з'єднанні.

Зауваження :

DB2 для серверів z/OS та OS/390 підтримує довжину до 18 символів.

type

Цілочисленне значення, що визначає тип ресурсу, який було передано у функцію.

- передан ресурс соединения.

Любое другое значение, отличное от означає ресурс оператора.

Наступна таблиця показує, які параметри сумісні з ресурсами:

Матриця ресурс/параметр

КлючЗначениеТип ресурса
З'єднання
autocommitDB2_AUTOCOMMIT_ONX
autocommitDB2_AUTOCOMMIT_OFFX
cursorDB2_SCROLLABLE-
cursorDB2_FORWARD_ONLY-
binmodeDB2_BINARYX
binmodeDB2_CONVERTX
binmodeDB2_PASSTHRUX
db2_attr_caseDB2_CASE_LOWERX
db2_attr_caseDB2_CASE_UPPERX
db2_attr_caseDB2_CASE_NATURALX
deferred_prepareDB2_DEFERRED_PREPARE_ON-
deferred_prepareDB2_DEFERRED_PREPARE_OFF-
i5_fetch_onlyDB2_I5_FETCH_ON-
i5_fetch_onlyDB2_I5_FETCH_OFF-
rowcountDB2_ROWCOUNT_PREFETCH_ON-
rowcountDB2_ROWCOUNT_PREFETCH_OFF-
trusted_user<USER NAME> (String)X
trusted_password<PASSWORD> (String)X
useridSQL_ATTR_INFO_USERIDX
acctstrSQL_ATTR_INFO_ACCTSTRX
applnameSQL_ATTR_INFO_APPLNAMEX
wrkstnnameSQL_ATTR_INFO_WRKSTNNAMEX

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

Повертає true у разі успішного виконання або **false**в случае возникновения ошибки.

Приклади

Приклад #1 Встановлення одного параметра для ресурсу з'єднання

Loading...

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

Options Set Successfully

Приклад #2 Встановлення кількох параметрів для ресурсу з'єднання

Loading...

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

Options Set Successfully

Приклад #3 Встановлення кількох параметрів з одним неправильним ключем

Loading...

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

Could Not Set Options

Приклад #4 Встановлення кількох параметрів з одним неправильним значенням

Loading...

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

Could Not Set Options

Приклад #5 Setting multiple parameters with connection resource and the wrong type

Loading...

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

Could Not Set Options

Приклад #6 Setting multiple parameters with the wrong resource

Loading...

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

Could Not Set Options

Приклад #7 Putting it all together

Loading...

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

Array
(
    [empno] => 000140
    [firstnme] => HEATHER
    [midinit] => A
    [lastname] => NICHOLLS
    [workdept] => C01
    [phoneno] => 1793
    [hiredate] => 1976-12-15
    [job] => ANALYST
    [edlevel] => 18
    [sex] => F
    [birthdate] => 1946-01-19
    [salary] => 28420.00
    [bonus] => 600.00
    [comm] => 2274.00
)

Array
(
    [empno] => 000130
    [firstnme] => DELORES
    [midinit] => M
    [lastname] => QUINTANA
    [workdept] => C01
    [phoneno] => 4578
    [hiredate] => 1971-07-28
    [job] => ANALYST
    [edlevel] => 16
    [sex] => F
    [birthdate] => 1925-09-15
    [salary] => 23800.00
    [bonus] => 500.00
    [comm] => 1904.00
)

Приклад #8 Курсор i5/OS тільки для читання

Loading...

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

first2 last2

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

  • db2_connect() - Повертає з'єднання з базою даних
  • db2_pconnect() - Повертає постійне з'єднання з базою даних
  • db2_exec() - Виконує SQL-запит безпосередньо
  • db2_prepare() - готує SQL-запит до виконання
  • db2_cursor_type() - Повертає тип курсору, який використовується у ресурсі оператора