Рейтинговые книги
Читем онлайн DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет - А. Шевелёв

Шрифт:

-
+

Интервал:

-
+

Закладка:

Сделать
1 2 3 4 5 6 7 8 9 10 11

Установка сервера

Загрузить из Интернета архивный файл dbfWebServer. zip

Распаковать архивный файл или скопировать содержимое с инсталляционного диска на свой локальный жёсткий диск.

Программа не требует процедуры установки.

Если установка сервера производится с инсталляционного диска, то следует просто скопировать содержимое СД-диска на локальный жёсткий диск.

Рекомендуется скопировать всё в корневой каталог.

Запуск сервера

Сервер запускается из командной строки набором имени файла

dbfWebServer. exe

или кликом мыши по этому имени в проводнике.

После запуска появится окно с программой, как показано на рис. В.1.

После того как программа запустится, в адресной строке браузера введите и активизируйте следующий адрес:

http://localhost:4180

по умолчанию будет загружена страница index.html:

http://localhost:4180/html/index.html

Примечание. Загрузку стартовой страницы необходимо обеспечить как минимум для двух случаев:

• когда сервер устанавливается параллельно существующему другому серверу. это будет рассмотрено ниже (привязка сервера);

• когда сервер устанавливается самостоятельно.

Если сервер устанавливается параллельно, то используется файл dbf.html, чтобы не пересекаться с существующим сервером.

В любом случае по умолчанию загружается файл index.html из директории /html/.

После загрузки страницы index.html в браузере должна появиться картинка следующего содержания (рис. 1.2):

Рис. 1.2. Вид загруженной страницы index.html из сервера dbfWebServer

Для успешного старта программы и дальнейшей продуктивной работы с таблицами программе требуется два служебных файла.

Один файл – это файл инициализации, другой – текстовый файл, содержащий минимальный перечень используемых таблиц. Второй файл можно назвать стартовым файлом проекта.

Файл инициализации содержит инициализацию системных переменных и набор настроек.

Файл проекта содержит в основном системные таблицы, которые требуются для работы сервера и входят в состав дистрибутива.

Файл инициализации

Запуск программы dbfWebServer. exe начинается с загрузки стартового файла dbfWebServer.BEG.

Инициализация программы (а это для нее ответственный момент) производится с помощью специального файла. Это делается для того, чтобы объявить и инициализировать глобальные и системные переменные вне программы, предоставив пользователю возможность тонкой настройки, если такая необходимость возникнет.

В файле инициализации устанавливаются предварительные настройки сервера и базы данных. Эти настройки можно редактировать или дополнять. Редактировать настройки можно с помощью любого редактора. Изменять что-либо желательно только после того, как вы хорошо изучили предмет и понимаете смысл и назначение установок. Начальное содержание этого файла следующее:

Файл dbfWebServer.BEG

Set (01,«OFF»),Set (03,4 ),Set(04,"dd.mm.yy»),Set (08,«ON»), Set (09,«ON»)

Set (11,«ON»),Set (14,10),Set (31,.F.),Set (32,«OFF»),Set (35,«ON»)

ixPUB («arrDbfRun», arRay (512,2))

ixPUB («arrDbfOpe», arRay (64))

ixPUB (»_DBF_», «STA»)

ixPUB («M», «001»)

ixPUB («ixPORT», 4180)

Список наиболее значимых переменных для программы, объявленных и инициализированных в стартовом файле программы, следующий:

arrDbfRun

– массив, предназначенный для блоков кода, готовых к выполнению

arrDbfOpe

– массив, предназначенный для хранения списка открытых файлов. Эта переменная является элементом системы динамического открытия файлов

ixPORT

– номер порта, на котором программа слушает и принимает сообщения

Стартовый файл проекта

Файл, содержащий список таблиц, называется dbfWebServer. txt

Этот файл используется динамическим загрузчиком. Назначение этого файла и формат записей будут рассмотрены ниже. Здесь следует отметить только то, что сервер может стартовать без этого файла, но в дальнейшем обращение к таблицам без проекта таблиц в последующей работе будет затруднительно, можно использовать только простые страницы, без обращения к таблицам.

Привязка сервера

Иногда сервер dbfWebServer будет устанавливаться параллельно с другим сервером. У пользователя уже может действовать какая-либо система работы с данными. В этом случае установка требует нескольких манипуляций в ручном режиме.

Рассмотрим это на примере, когда на компьютере уже установлен комплекс из сервера Apache и базы данных MySQL.

Для сервера Apache и ряда других WEB серверов, как правило, создаётся рабочая директория, содержащая рабочие скрипты, с именем

www

В многопрофильной системе IxBase, в которую входит данный комплекс, используется следующий путь расположения компонент системы:

ixbbinwww

В директории ixbbin находится сам сервер (программа) Apache. exe.

В директории ixbmysql находится база данных MySQL.

Рабочие файлы дистрибутива сервера dbfWebServer копируются в этом случае соответственно в директорию ixbbin.

Содержимое директории www сервера dbfWebServer копируется в директорию ixbbinwww уже установленного, например, сервера многопрофильной системы ixBase.

Глава 2. Особенности программирования

Главной особенностью является использование блоков кода. Синтаксис блоков кода несколько отличается от синтаксиса исходного кода программы в стиле xBASE. В блоках кода отсутствует возможность использования итераторов WHILE, FOR. Вместо этого используются итераторы по базе данных или массиву dbEval () и aEval (). В блоке кода функции объединяются в группы в явном или неявном виде, то есть представляют собой одну строку, в которой операторы разделены запятой, например

DBFRUN00-> (dbGoGop (),FieldGet (1))

Дополнительные функции

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

ixPUB (cArg1,value) – объявление глобальной переменной. Первый аргумент задаёт имя переменной в виде строки. Второй аргумент функции – значение, присваиваемое переменной. Значение может быть любого допустимого типа.

ixWhile (cKey, cValue) – итератор, используемый в блоках кода. Первый строковый аргумент задаёт условие цикла, второй строковый аргумент определяет блок кода (функцию).

dbfRun (cName) – функция, запускающая блок кода на выполнение. Может вызываться из блока кода. Работает совместно с таблицей DBFRUN00.

DbfOut (bLine, RelNam, RelVal, KeyNam, KeyVal, Filter, PrUni, MaxEle) – функция, предназначенная для вывода списка из базы данных согласно заданным параметрам. Представляет собой альтернативу функции dbEval (), в некоторых случаях позволяет добиться лучших результатов.

_x_sta (cStr_1,cStr_2,cStr_3) – функция, предназначенная для вывода сообщений в окне программы.

encode (cString) – функция перекодировки данных, передаваемых по каналу Интернет.

Системные таблицы сервера

Основным постулатом системы является то, что весь исходный код хранится в базе данных. Исходный код заносится в виде блоков кода, совместимых с системой CLIPPER 5.3.

Чтобы разделить управление между различными программами реализациями информационных технологий ixBASE, используются следующие системные таблицы:

DBFHTM00. Используется CGI-скриптами HRB. EXE (Harbour), CLP. EXE (CLIPPER 5.3), ALS. EXE (Alaska). Скрипты работают под управлением WIN32. Для операционной системы UNIX скрипт находится в разработке, желающие могут скомпилировать его самостоятельно.

DBFRUN00. Используется программой IXBASE. EXE, созданной системой xHarbour. Работает под управлением WIN32 и WIN64.

DBFBLO00. Используется программой IXBASE. EXE (CLIPPER 5.3, FiveWin 1.95). Работает под управлением WIN32.

DBFMEN00. Таблица функциональных клавиш. Используется программой IXBASE. EXE (CLIPPER 5.3, FiveWin 1.95).

Все таблицы для вышеперечисленных программ находятся в директории

/ixb/sys/dfw/

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

./dbf/

Немного истории

Для программы IXBASE. exe (DOS) использовалась директория /ixb/sys/dbf/.

В связи с тем, что в идеологии системы ixBase произошли большие изменения, пришлось разделить таблицы базы данных на две группы: /DFW и /DBF.

Динамический загрузчик

Программа открывает таблицы с помощью динамического загрузчика. Список таблиц, входящих в проект, представляется в двух видах:

первый вид – это текстовый файл dbfWebServer. txt;

второй вид – это список таблиц: SPIDBF00.dbf, SPIDBF10.dbf, SPIDBF20.dbf (рис. 2.1).

Таблица SPIDBF00.dbf содержит список наименований таблиц проекта.

Таблица SPIDBF10.dbf содержит список полей таблиц.

Таблица SPIDBF20.dbf содержит список ключей сортировок таблиц.

Рис. 2.1. Экранная форма результата запроса к серверу dbfWebServer

Порядок работы динамического загрузчика

Динамический загрузчик построен на обработке ошибки, возникающей при обращении к таблице, которой нет в рабочей области системы CLIPPER (xHarbour), код ошибки subCode = 1002.

Эта ошибка возникает, как было сказано, при попытке обращения к таблице, которая ещё не открыта. Это может быть, например, в следущих конструкциях:

1 2 3 4 5 6 7 8 9 10 11
На этой странице вы можете бесплатно читать книгу DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет - А. Шевелёв бесплатно.
Похожие на DbfWebServer. Способ эффективной работы с таблицами DBFв среде Интернет - А. Шевелёв книги

Оставить комментарий