Функции Oracle 8
LXX. Функции Oracle 8
Эти функции дают возможность доступа к БД Oracle8 и Oracle7. Используется интерфейс Oracle8 Call-Interface (OCI8). Для использования этого расширения вам понадобятся клиентские библиотеки Oracle8.
Это расширение более гибко, чем стандартное расширение Oracle. Оно поддерживает связку глобальных и локальных переменных PHP с заглушками Oracle, имеет полную поддержку LOB, FILE и ROWID и позволяет использовать предоставленные пользователем определённые переменные.
Прежде чем использовать это расширение, убедитесь, что вы соответствующим образом настроили ваши переменные окружения oracle для пользователя Oracle, а также для пользователя вашего web-демона. Вот переменные, которые вам может понадобиться установить:
ORACLE_HOME
ORACLE_SID
LD_PRELOAD
LD_LIBRARY_PATH
NLS_LANG
ORA_NLS33
После настройки переменных окружения для пользователя вашего web-сервера не забудьте также добавить пользователя web-сервера (nobody, www) в группу oracle.
Если ваш web-сервер не стартует или заваливается при старте: убедитесь, что Apache связан с библиотекой pthread:
# ldd /www/apache/bin/httpd libpthread.so.0 => /lib/libpthread.so.0 (0x4001c000) libm.so.6 => /lib/libm.so.6 (0x4002f000) libcrypt.so.1 => /lib/libcrypt.so.1 (0x4004c000) libdl.so.2 => /lib/libdl.so.2 (0x4007a000) libc.so.6 => /lib/libc.so.6 (0x4007e000) /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x40000000)Если libpthread нет в списке, нужно переустановить Apache:
# cd /usr/src/apache_1.3.xx # make clean # LIBS=-lpthread ./config.status # make # make install
Вы легко можете получить доступ к хранимым процедурам тем же способом, что и из командной строки.
Пример 2. Использование хранимых процедур
|
- Содержание
- OCIBindByName - связывает PHP-переменную с заглушкой Oracle
- OCICancel - отменяет чтение из курсора
- OCICollAppend -
- OCICollAssign -
- OCICollAssignElem -
- OCICollGetElem -
- OCICollMax -
- OCICollSize -
- OCICollTrim -
- OCIColumnIsNULL - тестирует, является ли результирующий столбец NULL
- OCIColumnName - возвращает имя столбца
- OCIColumnPrecision -
- OCIColumnScale -
- OCIColumnSize - возвращает размер результирующего столбца
- OCIColumnType - возвращает тип данных столбца
- OCIColumnTypeRaw -
- OCICommit - подтверждает внешние транзакции
- OCIDefineByName - использует PHP-переменную для шага define в операторе SELECT
- OCIError - возвращает последнюю ошибку из stmt|conn|global
- OCIExecute - выполняет оператор
- OCIFetch - извлекает следующий ряд в result-буфер
- OCIFetchInto - извлекает следующий ряд в result-массив
- OCIFetchStatement - извлекает все ряды результирующих данных в массив
- OCIFreeCollection -
- OCIFreeCursor - освобождает все ресурсы, ассоциированные с курсором
- OCIFreeDesc - удаляет дескриптор большого объекта/large object
- OCIFreeStatement - освобождает все ресурсы, ассоциированные с оператором
- OCIInternalDebug - включает или отключает вывод внутренней отладки
- OCILoadLob -
- OCILogOff - отсоединяет от Oracle
- OCILogon - устанавливает соединение с Oracle
- OCINewCollection -
- OCINewCursor - возвращает новый курсор (Statement-Handle/оператор-дескриптор)
- OCINewDescriptor - инициализирует новый пустой дескриптор LOB или FILE
- OCINLogon - устанавливает новое соединение с Oracle
- OCINumCols - возвращает количество результирующих столбцов в операторе
- OCIParse - разбирает запрос/query и возвращает оператор
- OCIPLogon - соединяется с БД Oracle с использованием постоянного соединения
- OCIResult - возвращает значение столбца для извлечённого ряда
- OCIRollback - откатывает неразрешённые транзакции
- OCIRowCount - получает количество задействованных рядов
- OCISaveLob -
- OCISaveLobFile -
- OCIServerVersion - возвращает строку, содержащую информацию о версии сервера
- OCISetPrefetch - устанавливает количество предварительно извлечённых рядов
- OCIStatementType - возвращает тип OCI-оператора
- OCIWriteLobToFile -