русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Работа с сервером баз данных с различными СУБД через ODBC


Дата добавления: 2015-06-12; просмотров: 806; Нарушение авторских прав


Термин ODBC(сокращение от «Open Database Connectivity», то есть «открытая архитектура баз данных») представляет собой интерфейс прикладных программ (API), позволяющий использовать общий набор абстрактных функций для работы с разными типами баз данных. Преимущества подобного подхода очевидны приложение может выполняться базами данных с различными СУБД т.е не зависить от типа СУБД. Работа с сервером баз данных через ODBC возможна лишь в том случае, если этот сервер является ODBC-совместимым. Другими словами, для него должны существовать драйверы ODBC. Хотя стандарт ODBC, разработанный компанией Microsoft, стал открытым стандартом, он в основном используется для работы с СУБД на платформе Windows; впрочем, драйверы ODBC также существуют и на платформе Linux. Приведем ссылки на драйверы для некоторых популярных СУБД:

Automation Technologies: http://www.odbcsdk.com;

Easysoft: http://www.easysoft.com/products/oob/main.pHTML;

MySQL (MyODBC): http://www.mysql.com;

OpenLinkSoftware: http://www.openlinksw.com.

Прежде чем начать работать с базами данных следует создать источник данных ODBC. Командой Пуск//Панель управления/Администрирование/Источники данных ODBC (32) запускается Администратор источников данных (рисунок. 2.1). Ис­поль­зуя страницу Пользовательский DSN (источники доступны только текущему пользовате­лю), Системный DSN (источники доступны всем пользовате­лям) или Файловый DSN (файлы), можно уста­но­вить дос­туп к конкретному файлу (базе данных, электронной таблице, текстовому файлу): указать DSN‑имя (для ссылки в программах), тип драйвера, пароль, имя пользователя и другую до­полни­тель­ную информа­цию. Описания DSN‑источников хранятся в реестре Windows, файловых ‑ в текстовых файлах с расширением DSN. Кнопками Добавить, Удалить и Настройка мож­но добавлять, удалять и изменять описания источников.



 

Рис. 2.1 - Окно Администратора источников данных

Функции ODBC в РНР, обычно называемые общими функциями ODBC, не только обеспечивают типовую поддержку ODBC, но и позволяют работать с некоторыми СУБД, обладающими собственным API, через стандартный ODBC API. К числу последних относятся следующие СУБД: Adabas D; IODBC; IBM DB2; Solid; Sybase SQL Anywhere.

В настоящее время существует около 40 общих функций ODBC (http://www.php.net/manual).

Приведем основные функции.

int odbc_connect(string источник_данных, string имя_пользователя, string пароль [, int тип_курсора]) - установить с ней связь c базой данных. В параметрах имя_пользователя и пароль, передаются имя пользователя и пароль, необходимые для подключения к источнику данных. Необязательный параметр тип_курсора предназначе'н для устранения проблем, возникающих при работе с некоторыми драйверами ODBC. Он может принимать одно из четырех возможных значений: SQL_CUR_USE_IF_NEEDED; SQL_CURSOR_USE_ODBC; SQL_CUR_USE_DRIVER; SQL CUR DEFAULT.

void odbc_close([int идентификатор_соединения]) – закрыть соединение, чтобы освободить все ресурсы, используемые открытым соединением. В параметре идентификатор_соединения передается идентификатор открытого соединения

Пример.

$connect =obdc_connect("myAccessDB", "user", "secret")or exit( "Ошибка при соединении");

odbc_close ($connect);

int odbc_prepare(int идентификатор_соединения , string запрос) - перед непосредственной обработкой запрос необходимо «подготовить». В параметре идентификатор_соединения передается идентификатор соединения, возвращаемый функцией odbc_connect( ). В параметре запрос передается текст запроса, который должен быть выполнен сервером. Если запрос не может быть выполнен, функция возвращает FALSE; в противном случае возвращается идентификатор результата, в дальнейшем используемый при вызове функции odbc_execute( ).

int odbc_execute(int идентификатор результата [, array параметры]) - запрос, подготовленный функцией odbc_prepare, выполняется). В параметре идентификатор_результата передается идентификатор результата, возвращаемый при успешном вызове odbc_prepare( ). Необязательный параметр передается лишь в том случае, если при вызове функции передаются дополнительные данные.

Пример.

$connect = @obdc_connect("myAccessDB", "user", "secret")

or exit("Ошибка при подключении к базе данных");

$query = "UPDATE customers SET cust_id = \"Milano, Inc.\"WHERE cust_id \"2000cu\"";

$result = odbc_prepare($connect, $query) or exit("Ошибки в запросе!");

$result = odbc_execute($result) or exit("Ошибки при выполнении запроса на обновление!");

odbc_close($connect);

int odbc_exec(int идентификатор_соединения , string запрос) - функция odbc_exec( ) объединяет odbc_prepare( ) и odbc_execute( ). В параметре идентификатор_соединения передается идентификатор соединения, возвращаемый функцией odbc_connect( ). В параметре запрос передается текст запроса, который должен быть выполнен сервером. Если запрос не может быть выполнен, функция возвращает FALSE; в противном случае возвращается идентификатор результата, используемый при последующих вызовах функций:

Пример.

$connect =obdc_connect("myAccessDB", "user", "secret")

or exit("Ошибка при подключении к базе данных ");

$query = "SELECT * FROM customers";

$result = odbc_exec($connect, $query) or exit("Ошибки при выполнении запроса!");

odbc_close($connect);

int odbc_result_all(int идентификатор_результата [, string формат_таблицы]) - форматирует и отображает все записи для идентификатора результата, полученного при вызове odbc_exec( ) или odbc_execute( ). В параметре идентификатор_результата передается идентификатор результата, возвращаемый при успешном вызове odbc_exec( ) или odbc_execute( ). В необязательном параметре формат_таблицы передаются характеристики таблицы HTML.

Пример.

($connect =obdc_connect("myAccessDB", "user", "secret")

or exit("Ошибка при подключении к базе данных ");

$query = "SELECT * FROM customers";

$result = odbc_exec($connect, $query) or exit("Ошибки при выполнении запроса!");

odbc_result_all($result, "BGCOLOR='#c0c0c0' border='1' ");

odbc_close($connect);

?>

В результате выполнения этого примера содержимое таблицы customers будет выведено в таблице на светло-сером фоне с рамкой толщиной 1.

int odbc_free_result(int идентификатор_результата) - освобождение всех ресурсов, связанных с завершенными операциями. В параметре функции передается идентификатор результата ($result), который больше не будет использоваться в программе. Все ресурсы памяти автоматически освобождаются по завершении сценария; таким образом, вызов функции odbc_free_result( ) необходим лишь для очень больших запросов, расходующих очень большие объемы памяти.



<== предыдущая лекция | следующая лекция ==>
Стандартные функции РНР для работы с MySQL | Другие СУБД


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.181 сек.