В тех случаях, когда база данных находится на северной стороне т.е. размещена на компьютере, который выполняет функции сервера базы данных, то в этом случает применяют так называемую «клиент-серверную» технологию. Один из популярных подходов решения этой задачи является технология Active Server Page (ASP) фирмы MicroSoft, разработанная для реализации доступа к данным, расположенных на сервере в режиме «клиент-сервер». В основу клиент-серверной концепции положена схема взаимодействия удаленного пользователя с базой данной, которую можно изобразить, как показано на рис. 45
Рис.45. Упрощенная схема взаимодействия «клиента» с «сервером» в ASP-технологии
В этой схеме клиент, используя браузер, посылает на сервер SQL-запрос, который принимается специальной серверной службой (например, Internet Information Server- IIS) и передается в приложение пользователя (ASP-файл). ASP-приложение обрабатывает запрос, выполняет доступ к базе данных и готовит ответ в формате HTML. Подготовленный по запросу на сервере HTML-файл принимается браузером клиента и разворачивается в форме удобной для восприятии конечным пользователем.
Таким образом, для реализации ASP-технологии доступа к базе данных «Автосалон», необходимо выполнить следующее:
- Разместить базу avto.mdb на сервере в специальном директории, который сервер IIS воспринимает как доступный для уудаленной обработки. Обычно такой директорий создается автоматически при установке IIS и называется C:/Inetpub/wwwroot/.
- Разработать диалоговую HTML-форму для ввода SQL-запроса на стороне клиента.
- Разработать ASP-файл, который будет принимать от клиента (от формы) запрос, обрабатывать его и возвращать клиенту готовый HTML-файл с ответом.
В частном случае в качестве сервера может выступать тот же компьютер, на котором находится клиент. В этом случает клиент обращается к серверу по адресу 127.0.0.1 (или присваивает ему имя loacalhost).
Разработка ASP-проекта начинается с создания диалоговой формы на стороне клиента. В качестве примера создадим Фому, которая будет позволять пользователю выбирать запрос из списка и передавать текст запроса к ASP-процедуре, которая находится на сервере.
Создание диалоговой HTML-формы проведем в простом редакторе текстов NotePade. На форме разместим следующие объекты:
Вид рабочей формы клиента со списком SQL-запросов к базе данных «Автосалон» показан на рис. 46.
Рис.46. Пример HTML-формы для выбора SQL-запроса к базе данных.
Описание ASP-модулей
SQL-запрос, выбранный из списка, помещается в текстовый бокс, где пользователь может выполнить дополнительное редактирование запроса. Затем, нажав кнопку [Выполнить запрос], клиент посылает методом POST содержимое формы на сервер к ASP-процедуре для дальнейшей обработки.
Замечание: Обратите внимание на строку <FORM name=frm action="http://127.0.0.1/Avto.asp" method="post">.
В ней указан адрес локального сервера (127.0.0.1). На практике надо указать адрес фактического сервера, на котором установлена ASP-процедура, обрабатывающая запрос.
Процедура Avto.asp принимает запрос от формы клиента и выполняет следующие действия:
- создает объект для установки связи с базой данной на сервере и открывает указанную базу данных;
- создает объект для чтения набора записей по SQL-запросу и производит фактическое чтение данных из базы;
- выводит набор записей в HTML-отчет и передает его на сторону клиента.
'------- вывод набора записей в таблицу -------------
If rs.EOF = True Then
response.write "<br>Список пуст<br>"
stop
End If
'--- Вывод таблицы в окно браузера ----
rs.MoveFirst
tt="<br><TABLE border=1><TR>"
'--- Строка с заголовками столбцов --
For Each el In rs.Fields
tt = tt & "<TD><h4>" & el.Name & "</h4></TD>"
Next
tt=tt & "</TR>"
'------- Вывод тела таблицы -------------
Do Until rs.EOF
tt=tt & "<TR>"
'---- чтение элементов строки -----
For Each el In rs.Fields
tt = tt & "<TD>" & el.Value & "</TD>"
Next
'---- переход на седующую строку ----
tt=tt & "</TR>"
rs.MoveNext
Loop
'------------- конец формирования таблицы -----
tt=tt & "</TABLE>"
response.write tt
%>
<BODY>
<HTML>
Вариант HTL-отчета, который получает клиент по посланному запросу, показан на рис.47.
Таким образом, данный пример использования ASP-технологии демонстрирует широкие возможности применения SQL-запросов на стороне клиента для получения любых отчетов, которые предоставляются ему в HTML-формате.
Рис.47. Вариант HTML-отчета, подготовленного на сервере по запросу от клиента.