Создание веб-интерфейса к БД MS Access в ОС Windows

Источник: gimn6
Беляев С.Н.

ВВЕДЕНИЕ

В этой статье речь пойдет о работе с базами данных Microsoft Access (файлы *.mdb) в ОС Windows (все версии Win2k, а также Windows XP) с использованием наиболее распространенных средств создания динамических страниц, таких как ASP, PHP, Perl и ColdFusion.

Данная статья предназначена для тех, кто хочет научиться работать с базами данных при создании динамических страниц путем наименьшего сопротивления. То есть здесь собраны средства, которые наиболее просты в установке и в настройке ПО. Например, для программирования на ASP достаточно иметь дистрибутив Windows 2000 и одну из версий (практически любую) пакета Microsoft Office с компонентом MS Access. Материал данной статьи может быть использован также при работе с другими СУБД, входящими в набор стандарнтых драйверов ODBC (MS SQL, Paradox, Oracle и т.д.)

Предполагается, что читатель уже умеет устанавливать Windows и Microsoft Office, поэтому особенности установки этих программ в статье не рассамриваются. Следует заметить, что работа всех компонентов тестировалась с использованием Microsoft Windows 2000 Server и Microsoft Office 2000.

Для создания веб-интерфейса к БД MS Access необходимо совершить следующие действия:

  • Установить Windows и пакет MS Office
  • Установить средство создания динамических страниц (Perl, PHP, ...)
  • Установить и настроить веб-сервер
  • Создать БД в файле *.mdb с помощью MS Access
  • Написать программу, связывающую веб-страницу с БД созданного файла

Особенности устновки и настройки вышеописанных программных средств и описан в последующих разделах статьи.

Весь необходимый материал, рассматриваемый в данной статье, Вы можете скачать в архиве dhtml.rar (123 Kb) и распаковать в корневой каталог веб-сервера C:\InetPub\wwwroot\DHTML.

УСТАНОВКА И НАСТРОЙКА INTERNET INFORMATION SERVICES 5.0

Данный веб-сервер легко устанавливается под ОС Win2k и WinXP, так как входит в состав дистрибутива Windows как один из компонентов. Для установки достаточно (при наличии дистрибутива Windows) воспользоваться разделом "Пуск \ Настройка \ Панель Управления \ Установка и Удаление программ \ Добавление и удаление компонентов Windows \ Internet Information Services 5.0":

 

После нажатия на кнопку "Далее" будет произведена установка IIS. Запуск IIS будет произведен автоматически после установки без перезагрузки компьютера. Корневым каталогом веб-сервера по-умолчанию является папка c:\inetpub\wwwroot , а для того, чтобы проверить его работоспособность достаточно набрать в адресной строке браузера http://localhost .

Теперь предстоит настроить веб-сервер, для чего следует зайти в раздел "Пуск \ Настройка \ Панель Управления \ Администрирование \ Диспетчер служб Интернета":

 

В открывшемся окне "Internet Information Services" следует выбрать раздел "Веб-узел по умолчанию" и просмотреть его свойства. Здесь на вкладке "Документы" можно указать следующую последовательность загружаемых по умолчанию файлов: "index.cfm", "index.asp", "index.php", "index.cgi", "index.htm", "index.html":

 

После установки IIS уже сразу можно использовать ASP-технологию и создавать динамические страницы в форме файлов *.asp. Если же Вы используете другую технологию (PHP, Perl, ColdFusion и т.д.), то Вам необходимо установить установить соответствующую программу и настроить IIS на работу с ней. Например, если Вы желаете использовать PHP, то в IIS нужно прописать, что файлы с расширением *.php должны обрабатываться программой C:\PHP4\php.exe. Для этого нужно перейти на вкладку "Домашний каталог":

 

Далее следует нажать на кнопку "Настройка", в появившемся окне можно видеть связь расширений и исполняемых файлов:

 

Для добавления новой связи следует воспользоваться кнопкой "Добавить", где нужно указать исполняемый файл и расширение. Следует заметить, что в приведенном выше примере уже реализованы примеры связей для файлов с расширениями *.php, *.cgi, *.cfm . Установка Perl и PHP будет рассмотрена в последующих разделах.

СОЗДАНИЕ БД В MS ACCESS

Создадим базу данных в файле db.mdb с единственной таблицей school_teacher. Для этого запустим MS Access: Пуск \ Программы \ Microsoft Access. Далее требуется создать новую БД и сохранить в файле db.mdb в некотором каталоге, например в C:\InetPub\wwwroot\DHTML\ . После чего создадим таблицу school_teacher с помощью конструктора со следущей структурой:

 

Заполним таблицу данными, например следующим образом:

 

В последующих разделах данной статьи будет рассмотрена возможность привязки данной БД в различных технологиях веб-программирования и генерации на веб-странице кода, выводящего содержимое данной таблицы следующим образом:

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн

НАСТРОЙКА ИСТОЧНИКА ДАННЫХ ODBC

Для работы с базами данных часто используют псевдонимы (alias). Псевдоним БД - это имя некоторой базы данных, которое прописывается в настойках таким образом, что для обращения к таблицам данной базы достаточно указать alias. Это удобство позволяет легко менять тип БД, не меняя текста программ. Рассмотрим принцип определения псевдонима БД Microsoft Access, хранящейся в файле db.mdb на сервере. Предположим, мы хотим, чтобы псевдоним db соответствовал данной БД. Для этого необходимо запустить Администратор источников данных ODBC (Пуск \ Настройка \ Панель управления \ Администрирование \ Источники данных (ODBC)):

 

Далее, в разделе "Системный DSN" следует добавить новый псевдоним, выбрав соответствующий драйвер:

 

После нажатия на кнопку "Готово" остается указать имя источника "db" и путь к файлу:

 

Нажатием кнопки "Ок" в системе появится псевдоним "db" к базе данных, который можно будет использовать при обращении к файлу db.mdb . Следует заметить, что аналогичным образом можно указать псевдоним и к другим СУБД, при этом принцип реализации веб-интерфейса к БД не изменится.

Заметим, что для работы с файлами *.mdb можно работать и без псевдонима, т.е. вместо подключения
   DSN = "db"
можно использовать одно из следующих подключений:
   DSN = "Driver={Microsoft Access Driver (*.mdb)}; PWD=; DBQ=c:\Inetpub\wwwroot\dhtml\db.mdb"
   DSN = "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=c:\Inetpub\wwwroot\dhtml\db.mdb"

Здесь видно, что при подключении используется полный путь к файлу, что менее практично.

ВЕБ-ИНТЕРФЕЙС К БД MS ACCESS В ASP

Предположим, что уже установлено необходимое программное обеспечение (Windows 2000, MS Access, IIS) создана база данных в файле c:\inetpub\wwwroot\dhtml\db.mdb с таблицей school_teacher, к которой прописан псевдоним "db" (об особенностях настройки и установки вышеописанных компонентов смотрите предыдущие разделы статьи).

Приведем текст файла school.asp, реализующий вывод таблицы school_teacher:

<html>
<body>
<%
set Cn = Server.CreateObject("ADODB.Connection")
Cn.Open "DSN=db" 'подключение к БД с псевдонимом db

Set rs = Server.CreateObject("ADODB.Recordset")
rs.Open  "SELECT * FROM school_teacher", Cn 'выполение SQL-запроса 
%>

<table class=borderall>
  <tr align=center bgcolor=cccccc><td>№</td><td>ФИО</td><td>Предмет</td></tr>
<%
do until rs.EOF               'цикл по записям запроса
  id_teacher=rs("id_teacher") 'чтение значения поля id_teacher в переменную id_teacher для текущей записи запроса
  fio=rs("fio")
  subject=rs("subject")
  'вывод строки текущей записи
%>
  <tr><td><%=id_teacher%></td><td><%=fio%></td><td><%=subject%></td></tr>
<%
  rs.movenext
loop
rs.Close
Cn.Close
%>
</table>
</body>
</html>

Для работы с БД создается объект Cn типа ADODB.Connection, который соединяется с БД через метод Cn.Open . Для получения данных запроса создается еще один объект rs типа ADODB.Recordset, далее с помощью его метода rs.Open выполняется сам запрос к БД для соединения Cn. С помощью метода rs.EOF можно проверить признак окончания записей для текущего запроса, а с помощью функции rs.movenext можно перейти к следующей записи запроса. Таким образом, в цикле do until считываются и выводятся в таблице все записи запроса, после чего объект запроса и объект соединения с базой закрываются с помощью соответствующего метода Close.

Результат работы приведен ниже.

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн

ВЕБ-ИНТЕРФЕЙС К БД MS ACCESS В PHP

Предположим, что уже установлено необходимое программное обеспечение (Windows 2000, MS Access, IIS) создана база данных в файле c:\inetpub\wwwroot\dhtml\db.mdb с таблицей school_teacher, к которой прописан псевдоним "db" (об особенностях настройки и установки вышеописанных компонентов смотрите предыдущие разделы статьи).

Рассмотрим особенность установки PHP под IIS. Первоначально нужно установить пакет PHP. Для этого желательно найти самостоятельно и установить последнюю версию PHP под Windows. Также можно скачать архив php4.rar (850K) и распаковать в каталог C:\PHP4 на сервере. Далее следует настроить IIS на выполнение файлов *.php. Для этого следует указать в качестве исполняемого файла значение "C:\PHP4\php.exe %s %s" согласно инструкциям раздела Установка и настройка Internet Information Services 5.0.

Приведем текст файла school.php, реализующий вывод таблицы school_teacher:

<?
$conn = odbc_connect("db","","");
$rs = odbc_exec($conn,"SELECT * FROM school_teacher");
?>
<table class=borderall>
  <tr align=center bgcolor=cccccc><td>№</td><td>ФИО</td><td>Предмет</td></tr>
<? while (odbc_fetch_row($rs)){ ?>
	<tr>
		<td><?= odbc_result($rs,1) ?></td>
		<td><?= odbc_result($rs,2) ?></td>
		<td><?= odbc_result($rs,3) ?></td>
	</tr>
<? } ?>
</table>

Результат работы программы:

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн

ВЕБ-ИНТЕРФЕЙС К БД MS ACCESS В PERL

Предположим, что уже установлено необходимое программное обеспечение (Windows 2000, MS Access, IIS) создана база данных в файле c:\inetpub\wwwroot\dhtml\db.mdb с таблицей school_teacher, к которой прописан псевдоним "db" (об особенностях настройки и установки вышеописанных компонентов смотрите предыдущие разделы статьи).

Рассмотрим особенность установки Perl под IIS. Первоначально нужно установить Perl. Для этого желательно найти самостоятельно и установить последнюю версию Active Perl под Windows. Также можно скачать архив perl.rar (5.1 Mb) и распаковать в каталог C:\Perl на сервере. Далее следует настроить IIS на выполнение скриптов *.cgi . Для этого следует указать в качестве исполняемого файла значение "C:\Perl\bin\PerlIS.dll" согласно инструкциям раздела Установка и настройка Internet Information Services 5.0.

Приведем текст файла school.cgi, реализующий вывод таблицы school_teacher:

use CGI qw(:standard);
use CGI::Carp fatalsToBrowser;
use Win32::ODBC;

print "Content-Type: text/html\n\n";

$DSN="DSN=db";
$dbh = new Win32::ODBC($DSN) // die "Error: " . Win32::ODBC::Error();
$dbh->Sql( "SELECT * FROM school_teacher" );

print q~
  <html><body>
    <table class=borderall>
      <tr bgcolor="#ededed"><th>№</th><th>Ф.И.О.</th><th>Предмет</th></tr>~;

while($dbh->FetchRow()){  
  %h=$dbh->DataHash();
  print "<tr><td>$h{id_teacher}</td><td>$h{fio}</td><td>$h{subject}</td></tr>";
}

print "</table></html></body>";

$dbh->Close();

Результат работы программы:

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн

ВЕБ-ИНТЕРФЕЙС К БД MS ACCESS В COLDFUSION

Предположим, что уже установлено необходимое программное обеспечение (Windows 2000, MS Access, IIS) создана база данных в файле c:\inetpub\wwwroot\dhtml\db.mdb с таблицей school_teacher, к которой прописан псевдоним "db" (об особенностях настройки и установки вышеописанных компонентов смотрите предыдущие разделы статьи).

Рассмотрим особенность установки ColdFusion под IIS. Первоначально нужно установить ColdFusion. Для этого желательно найти самостоятельно и установить последнюю версию. При установке как правило настройка ColdFusion под IIS происходит автоматически. Так же вручную можно произвести настройку скриптов *.cfm .Для этого следует указать в качестве исполняемого файла значение "C:\CFUSION\bin\CFML.exe %s %s" согласно инструкциям раздела Установка и настройка Internet Information Services 5.0.

Приведем текст файла school.cfm, реализующий вывод таблицы school_teacher:

<cfquery name="q" datasource="db">
   SELECT id_teacher,fio,subject FROM school_teacher
</cfquery>

<table class=borderall>
     <tr bgcolor=#ededed><th>№</th><th>Ф.И.О.</th><th>Предмет</th></tr>
     <cfoutput query="q">    
         <tr><td>#id_teacher#</td><td>#fio#</td><td>#subject#</td></tr>
     </cfoutput>
</table>

Результат работы программы:

ФИО Предмет
1 Беляев Сергей Николаевич Программирование
2 Стольникова Ирина Валерьевна HTML
3 Голикова Марина Николаевна HTML
4 Ликай Елена Павловна Программирование
5 Ильиных Елена Николаевна Программирование
6 Бокатуев Денис Андреевич Web-дизайн


Страница сайта http://test.interface.ru
Оригинал находится по адресу http://test.interface.ru/home.asp?artId=21868