Использование технологий WWW для доступа к базам данных

       

Переменные


В модуле Oraperl.pm есть шесть специальных переменных:
$ora_cache
$ora_long

$ora_trunc
$ora_errno
$ora_errstr
$ora_verno
Эти переменные

используются для определения поведения Oraperl в определенных условиях.


$ora_cache

Эта переменная определяет размер буфера для функции

&ora_open() и SELECT-выражения, если точный размер буфера не указан.

Как правило устанавливается размер буфера равный пяти. Присваивание этой

переменной значения, равного нулю, устанавливает значение этой переменной

равным первоначальному значению. Присваивание отрицательной величины

приводит к ошибке.


$ora_long

Обычно Oraperl спрашивает базу данных о длине каждого поля и соответствующим

образом распределяет буферное пространство. Это невозможно для полей типа

LONG и LONGRAW. Распределение пространства в предположении максимально

возможной длины (65535 bytes) привело бы к излишним тратам памяти. Поэтому

когда &ora_open() определяет, что поле имеет тип LONG, память распределяется



согласно значению переменной $ora_long. При инициализации она принимает

значение 80 (для совместимости с продуктами Oracle), но в программе ее

можно устанавливать произвольным образом.


$ora_trunc

Так как Oraperl не может точно определять длину значений

типа LONG, возникают ситуации, когда значение $ora_long недостаточно для

хранения полученных данных. В таком случае, если у &ora_fetch есть

необязательный второй параметр, происходит обрезание данных. Если второй

параметр опущен, то вместо него используется значение $ora_trunc.


$ora_errno

Содержит код ошибки произошедшей при последнем вызове

какой-либо функции. Есть два интересных случая, касающихся &ora_fetch().

В первом случае, если произошло обрезание данных типа LONG или LONGRAW и

обрезание было разрешено, тогда выполнение этой функции полностью успешно,

но $ora_errno принимает значение 1406, для индикации того, что произошло

обрезание. Во втором случае, если &ora_fetch() возвратила false, то

$ora_errno принимает значение 0 в случае конца данных или код ошибки,

если действительно произошла ошибка.


$ora_errstr

Содержит сообщение об ошибке, соответствующее значению

$ora_errno.


$ora_verno

Содержит версию Oraperl в формате v.ppp, где v -

основной номер версии, а ppp - patchlevel.



Содержание раздела