Создание веб-интерфейса к БД 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 необходимо совершить следующие действия:
Особенности устновки и настройки вышеописанных программных средств и описан в последующих разделах статьи. Весь необходимый материал, рассматриваемый в данной статье, Вы можете скачать в архиве 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 с помощью конструктора со следущей структурой:
Заполним таблицу данными, например следующим образом:
В последующих разделах данной статьи будет рассмотрена возможность привязки данной БД в различных технологиях веб-программирования и генерации на веб-странице кода, выводящего содержимое данной таблицы следующим образом:
НАСТРОЙКА ИСТОЧНИКА ДАННЫХ ODBCДля работы с базами данных часто используют псевдонимы (alias). Псевдоним БД - это имя некоторой базы данных, которое прописывается в настойках таким образом, что для обращения к таблицам данной базы достаточно указать alias. Это удобство позволяет легко менять тип БД, не меняя текста программ. Рассмотрим принцип определения псевдонима БД Microsoft Access, хранящейся в файле db.mdb на сервере. Предположим, мы хотим, чтобы псевдоним db соответствовал данной БД. Для этого необходимо запустить Администратор источников данных ODBC (Пуск \ Настройка \ Панель управления \ Администрирование \ Источники данных (ODBC)):
Далее, в разделе "Системный DSN" следует добавить новый псевдоним, выбрав соответствующий драйвер:
После нажатия на кнопку "Готово" остается указать имя источника "db" и путь к файлу:
Нажатием кнопки "Ок" в системе появится псевдоним "db" к базе данных, который можно будет использовать при обращении к файлу db.mdb . Следует заметить, что аналогичным образом можно указать псевдоним и к другим СУБД, при этом принцип реализации веб-интерфейса к БД не изменится. Заметим, что для работы с файлами *.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. Результат работы приведен ниже.
ВЕБ-ИНТЕРФЕЙС К БД 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> Результат работы программы:
ВЕБ-ИНТЕРФЕЙС К БД 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(); Результат работы программы:
ВЕБ-ИНТЕРФЕЙС К БД 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> Результат работы программы:
|