Функции для работы с Oracle
Содержание
- oci_bind_array_by_name — Binds PHP array to Oracle PL/SQL array by name
- oci_bind_by_name — Привязывает переменную PHP к соответствующей метке в SQL-выражении.
- oci_cancel — Заканчивает процесс чтения из курсора
- oci_close — Закрывает соединение с сервером Oracle
- collection->append — Добавляет элемент в коллекцию
- collection->assign — Присваивает коллекции значение другой уже существующей коллекции
- OCI-Collection->assignElem — Assigns a value to the element of the collection
- OCI-Collection->free — Frees the resources associated with the collection object
- OCI-Collection->getElem — Returns value of the element
- collection->max — Возвращает максимальное количество элементов в коллекции.
- collection->size — Возвращает количество элементов в коллекции
- collection->trim — Отрезает элементы с конца коллекции
- oci_commit — Завершает и подтверждает транзакцию
- oci_connect — Устанавливает соединение с сервером Oracle
- oci_define_by_name — Определяет переменную PHP, в которую будет возвращено соответствующее поле из результата
- oci_error — Возвращает последнюю ошибку
- oci_execute — Выполняет выражение SQL
- oci_fetch_all — Выбирает все строки из результата запроса в массив
- oci_fetch_array — Возвращает следующую строку из результата запроса в виде ассоциативного массива, числового массива или оба сразу
- oci_fetch_assoc — Возвращает следующую строку из результата запроса в виде ассоциативного массива
- oci_fetch_object — Возвращает следующую строку из результата запроса в виде объекта
- oci_fetch_row — Возвращает следующую строку из результата запроса в виде массива с числовыми индексами
- oci_fetch — Выбирает следующую строку из результата в буфер
- oci_field_is_null — Проверяет, равняется ли поле NULL
- oci_field_name — Возвращает имя поля из результата запроса
- oci_field_precision — Возвращает точность поля
- oci_field_scale — Возвращает масштаб поля
- oci_field_size — Возвращает размер поля
- oci_field_type_raw — Возвращает тип исходный тип поля
- oci_field_type — Возвращает тип поля
- oci_free_statement — Освобождает ресурсы, занимаемые курсором или SQL-выражением
- oci_internal_debug — Включает и выключает внутреннюю отладку
- lob->append — Добавляет данные из объекта LOB в конец другого объекта
- lob->close — Закрывает дескриптор объекта LOB
- oci_lob_copy — Копирует содержание или часть содержания одного объекта LOB в другой
- lob->eof — Проверяет, находится ли указатель LOB на конце файла
- lob->erase — Очищает указанную часть объекта LOB
- lob->export — Сохраняет содержимое объекта LOB в файл
- lob->flush — Очищает и записывает буфер объекта LOB
- OCI-Lob->free — Frees resources associated with the LOB descriptor
- OCI-Lob->getBuffering — Returns current state of buffering for the large object
- lob->import — Записывает содержимое файла в объект LOB
- oci_lob_is_equal — Сравнивает два объекта LOB
- lob->load — Возвращает содержимое объекта LOB
- lob->read — Возвращает часть объекта LOB
- lob->rewind — Переводит указатель объекта в начало
- lob->save — Сохраняет данные в LOB
- OCI-Lob->saveFile — Alias of oci_lob_import
- lob->seek — Устанавливает позицию внутреннего указателя
- OCI-Lob->setBuffering — Changes current state of buffering for the large object
- lob->size — Возвращает размер объекта LOB
- lob->tell — Возвращает текущую позицию внутреннего указателя объекта
- lob->truncate — Обрезает LOB до указанной длины
- lob->write — Записывает данные в объект LOB
- OCI-Lob->writeTemporary — Writes temporary large object
- OCI-Lob->writeToFile — Alias of oci_lob_export
- oci_new_collection — Создает новый объект коллекции
- oci_new_connect — Устанавливает новое соединение с сервером Oracle
- oci_new_cursor — Возвращает идентификатор созданного курсора
- oci_new_descriptor — Инициализирует новый дескриптор объекта LOB или FILE
- oci_num_fields — Возвращает количество полей в результате запроса
- oci_num_rows — Возвращает количество строк, измененных в процессе выполнения запроса
- oci_parse — Подготавливает запрос к выполнению
- oci_password_change — Изменяет пароль пользователя Oracle
- oci_pconnect — Устанавливает постоянное соединение с сервером Oracle
- oci_result — Возвращает значение поля из результата запроса
- oci_rollback — Откатывает транзакции, ожидающие обработки
- oci_server_version — Возвращает строку с информацией о версии сервера Oracle
- oci_set_prefetch — Устанавливает количество строк, которые будут автоматически выбраны в буфер
- oci_statement_type — Возвращает тип выражения
- ocibindbyname — Alias of oci_bind_by_name
- ocicancel — Alias of oci_cancel
- ocicloselob — Alias of
- ocicollappend — Alias of
- ocicollassign — Alias of
- ocicollassignelem — Alias of
- ocicollgetelem — Alias of
- ocicollmax — Alias of
- ocicollsize — Alias of
- ocicolltrim — Alias of
- ocicolumnisnull — Alias of oci_field_is_null
- ocicolumnname — Alias of oci_field_name
- ocicolumnprecision — Alias of oci_field_precision
- ocicolumnscale — Alias of oci_field_scale
- ocicolumnsize — Alias of oci_field_size
- ocicolumntype — Alias of oci_field_type
- ocicolumntyperaw — Alias of oci_field_type_raw
- ocicommit — Alias of oci_commit
- ocidefinebyname — Alias of oci_define_by_name
- ocierror — Alias of oci_error
- ociexecute — Alias of oci_execute
- ocifetch — Alias of oci_fetch
- ocifetchinto — Выбирает следующую строку из результата запроса в массив
- ocifetchstatement — Выбирает все строки из результата запроса в массив
- ocifreecollection — Alias of
- ocifreecursor — Alias of oci_free_statement
- ocifreedesc — Alias of
- ocifreestatement — Alias of oci_free_statement
- ociinternaldebug — Alias of oci_internal_debug
- ociloadlob — Alias of
- ocilogoff — Alias of oci_close
- ocilogon — Alias of oci_connect
- ocinewcollection — Alias of oci_new_collection
- ocinewcursor — Alias of oci_new_cursor
- ocinewdescriptor — Alias of oci_new_descriptor
- ocinlogon — Alias of oci_new_connect
- ocinumcols — Alias of oci_num_fields
- ociparse — Alias of oci_parse
- ociplogon — Alias of oci_pconnect
- ociresult — Alias of oci_result
- ocirollback — Alias of oci_rollback
- ocirowcount — Alias of oci_num_rows
- ocisavelob — Alias of
- ocisavelobfile — Alias of
- ociserverversion — Alias of oci_server_version
- ocisetprefetch — Alias of oci_set_prefetch
- ocistatementtype — Alias of oci_statement_type
- ociwritelobtofile — Alias of
- ociwritetemporarylob — Alias of
Коментарии
Here are the translate of some functions from ORA to OCI:
<?php
function Ora_Logon($usuario, $password)
{
$con = oci_connect($usuario,$password);
return $con;
}
function Ora_Open($conexion) {
$cursor[0]=$conexion;
return $cursor;
}
function Ora_Parse(&$cursor, $consulta) {
$cursor[1]=oci_parse($cursor[0],$consulta);
return $cursor;
}
function Ora_Exec(&$cursor) {
oci_execute($cursor[1]);
$cursor[2]=1;
return $cursor;
}
function Ora_Fetch(&$cursor)
{
if ($cursor[2] == 1) $cursor[2]=0;
return oci_fetch($cursor[1]);
}
function Ora_GetColumn(&$cursor, $indice)
{
if ($cursor[2] == 1) {
Ora_Fetch($cursor);
$cursor[2]=0;
}
$valor = oci_result($cursor[1],$indice+1);
return $valor;
}
function Ora_Close(&$cursor)
{
unset($cursor[1]);
}
function Ora_Logoff($conexion) {
}
?>
For use PHPv5 functions in PHPv4 i use simple script:
<?php
$funcs=array(
'oci_connect'=>'OCILogon',
'oci_parse'=>'OCIParse',
'oci_execute'=>'OCIExecute',
'oci_fetch'=>'OCIFetch',
'oci_num_fields'=>'OCINumCols',
'oci_field_name'=>'OCIColumnName',
'oci_result'=>'OCIResult',
'oci_free_statement'=>'OCIFreeStatement',
);
// yoy can add yours pairs of funcs.
foreach ($funcs as $k=>$v)
{
if (!function_exists($k))
{
$arg_string='$p0';
for ($i=1;$i<20;$i++) {
$arg_string.=',$p'.$i;
}
eval ('function '.$k.' () {
list('.$arg_string.')=func_get_args();
return '.$v.'('.$arg_string.');
}
');
}
}
?>
simple, but it work. :-)