|
$db2->trace(0);
# Отключена трассировка для $db2, но продолжает действовать для $db1
$db1->trace(2,'DBI.trace');
# Теперь включена трассировка для всех описателей на уровне 2, выдача
# посылается в файл 'DBI.trace'.
DBI::commit, DBI::rollback, DBI::ping
$result = $db->commit;
$result = $db->rollback;
Sresult = $db->ping;
DBI: :commit и DBI: : rollback полезны только при работе с серверами,
поддерживающими транзакции. При работе с DBD::mSQL и DBD::mysql они не
оказывают никакого эффекта. DBD: :ping пытается проверить, запущен ли сервер
базы данных. В DBD::mSQL и DBD::mysql она не реализована.
Атрибуты
$db->{AutoCommit}
$handle->{ChopBlanks}
$handle->{CompatMode}
$handle->{InactiveDestroy}
$handle->{LongReadLen}
$handle->{LongTruncOk}
$handle->{PrintError}
$handle->{RaiseError}
$handle->{Warn}
$statement_handle->{CursorName}
$statement_handle->{insertid} (только MySQL)
$statement_handle->{is_blob} (только MySQL)
$statement_handle->{is_key} (только MySQL)
$statement_handle->{is_not_null}
$statement_handle->{is_num}
$statement__handle->{is_pri_key} (только MySQL и mSQL 1.x)
$statement_handle->{length}
$statement_handle->{max_length} (только MySQL)
$statement_handle->{NAME}
$statement_handle->{NUM_OF_FIELDS}
$statement_handle->{NUM_OF_PARAMS}
$statement_handle->{table}
$statement_handle->{type}
В DBI.pm API определено несколько атрибутов, которые можно читать и
устанавливать в любой момент. Присвоение значения атрибуту может определенным
образом изменить поведение текущего соединения. Присвоение любого отличного от
нуля значения атрибуту устанавливает его. Присвоение значения 0 атрибуту
сбрасывает его. Некоторые значения определены только для конкретных баз данных
и непереносимы. Ниже следуют атрибуты, применимые как к описателям баз данных,
так и к командам.
$db->{AutoCommit}
Этот атрибут оказывает влияние на поведение серверов баз данных, поддерживающих
транзакции. Для mSQL и MySQL он всегда должен быть установлен (значение по
умолчанию). Попытка изменить его прерывает выполнение программы.
$handle->{ChopBlanks}
При установке этого атрибута отсекаются все ведущие и замыкающие пробелы в
данных, возвращаемых запросом (например, при вызове DBI: : fetch row ). Все
производные от данного описатели наследуют значение этого атрибута. Значение по
умолчанию - «сброшен».
$handle->{InactiveDestroy}
Назначение этого атрибута - сохранить процесс при ветвлении (fork), чтобы
дочерний процесс мог пользоваться родительским описателем. Его следует
установить в родительском или дочернем процессе, но не в обоих. Значение по
умолчанию - «сброшен».
$handle-> {PrintError}
При установке этого атрибута выводятся все предупредительные сообщения. При
сброшенном атрибуте доступ к ошибкам осуществляется только через $DBI: :errstr.
Все производные от данного описатели наследуют значение этого атрибута.
Значение по умолчанию -«установлен».
$handle->{RaiseError}
При установке этого атрибута все ошибки возбуждают в программе исключительные
ситуации, прерывая ее выполнение, если не определен обработчик '__DIE__'. Все
описатели, производные от этого, наследуют значение этого атрибута. Значение по
умолчанию -«сброшен».
$handle->{Warn}
При установке этого атрибута выводятся предупредительные сообщения о неудачных
приемах программирования (особенно пережитках Perl 4). Сброс этого атрибута
отключает предупреждения DBI, что допустимо только при полной уверенности в
своем мастерстве. Все производные от данного описатели (например, описатель
команды, происходящий от описателя базы данных) наследуют значение этого
атрибута. Значение по умолчанию — «установлен».
$statement_handle->{insertid}
Непереносимый атрибут, определенный только для DBD::mysql. Он возвращает из
таблицы текущее значение поля auto_increment (если таковое имеется). Если поле
auto_increment не существует, атрибут возвращает undef.
|
|