My Diplom (Перенос Базы Данных на WEB-сервер), страница 4
Описание файла
Документ из архива "Перенос Базы Данных на WEB-сервер", который расположен в категории "". Всё это находится в предмете "информатика" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "рефераты, доклады и презентации", в предмете "информатика, программирование" в общих файлах.
Онлайн просмотр документа "My Diplom"
Текст 4 страницы из документа "My Diplom"
Microsoft технологию ASP продвигает достаточно активно. Об этом говорит хотя бы то, что в MS Internet Information Server 4.0 она уже входит составной частью, в отличие от IIS 3.0, где ASP представляли собой продукт, который было нужно инсталлировать отдельно. Кроме того, MS Site Server и MS Site Server Commerce Edition, позиционируемые как универсальные инструменты для строительства активных WEB-сайтов, являются теми же самыми ASP с огромным набором специализированных компонентов.
Выбор из многих решений показал, что наиболее оптимальным является использование ASP. Это связано прежде всего с самой технологией ASP модулей. По сути своей ASP – это использование API Windows , используется единое адресное пространство для каждого процесса в отличии от CGI, а потому и более производительно. Так же не стоит забывать о том, что WEB-сервер компании работает под управлением Windows NT Server, а в поставке Microsoft IIS 4.0 уже есть встроенный обработчик ASP.
-
Разработка проекта:
4.1 Перенос базы данных на Microsoft SQL Server.
Перенос базы данных компании «ТКС 008» осуществлялся с локального сервера в телефонной службе на WEB-сервер компании.
Механизм передачи информации выглядит следующим образом:
-
с сервера телефонной службы, с помощью специально написанной программы, информации из базы данных собиралась в текстовый файл, причём для каждой таблицы существует отдельный файл.
-
далее эти файлы доставляются физически на компьютер, установленный, как WEB-сервер компании.
-
Следующим этапом текстовые файлы считываются, программой написанной опять же специально, считывается каждое поле, и на основании этого заноситься информация в базу данных SQL.
Теперь остановимся подробнее на всём механизме передачи информации.
Первоначально база данных клиентов компании «Телефонная Коммерческая Служба 008» была реализована на СУБД Btrieve 6.0 , она работает под управлением операционной системы NetWare компании Novell. Для выгрузки из неё необходимой информации о клиентах, необходимо было написать программу для механического копирования содержимого полей некоторых таблиц, информация из которых требовалась для переноса на WEB-сервер. Такая программа была написана на языке Borland Pascal 7.0. Она выгружает только данные из таблиц, причем не все а только свежие ориентируясь на даты обновления записей присутствующие в базе данных. Данная программа механически записывает в текстовый файл поля некоторой таблицы из базы данных клиентов, разделённые маркером, так как не все поля базы данных являются фиксированной длинны. На каждую таблицу приходиться свой текстовый файл с содержимым её полей. Далее происходит доставка этих файлов на компьютер, являющийся WEB-сервером компании. Они помещаются в специально отведённую для них директорию, и программа обновления SQL базы данных, так же специально написанная для этой. Приходящие несколько файлов, каждый из которых содержит обновления для одной из таблиц базы данных. Программа открывает эти файлы в нужной последовательности. Читает оттуда запись за записью. Ищет соответствующую запись в БД на SQL, каждая запись однозначно идентифицируется последовательностью ключевых полей - это программа узнает из первичного индекса к загружаемой таблице. Если запись уже присутствует в базе данных SQL, то она обновляется. В противном случае добавляется. Сама программа напрямую с базой «общаться» не может, поэтому «общение» происходит через альтернативу ODBC – BDE (Borland Database Engine).
Информационные системы, созданные на основе классической архитектуры клиент/сервер, называемые двухзвенными системами или системами с "толстым" клиентом, состоят из сервера баз данных, содержащего сгенерированные тем или иным способом таблицы, индексы, триггеры и другие объекты, реализующие бизнес-правила данной информационной системы, и одного или нескольких клиентских приложений, предоставляющих интерфейс пользователя и производящих проверку допустимости и обработку данных согласно содержащимся в них алгоритмам. Если говорить о клиентских приложениях, созданных с помощью Delphi, для доступа к источникам данных они используют вызовы функций прикладных программных интерфейсов клиентских частей соответствующих серверных СУБД. Эти вызовы осуществляются посредством использования библиотеки Borland Database Engine (BDE). Соответственно подобное клиентское приложение требует наличия на компьютере конечного пользователя клиентской части используемой серверной СУБД и присутствия в оперативной памяти набора динамически загружаемых библиотек как из клиентской части, так и из BDE , таких, как драйверы баз данных, библиотеки, содержащие функции API клиентских частей.
Используя BDE, можно создать приложения, работающие как с однопользовательскими базами данных (БД), так и с серверными СУБД, такими как Oracle, Sybase, Informix, Interbase, MS SQL Server, DB2, а также с ODBC-источниками.
BDE обеспечивает для созданных приложений:
-
непосредственный доступ к локальным базам данных (dBase, Paradox, текстовые файлы);
-
доступ к SQL-серверам (Oracle, Sybase, MS SQL Server, InterBase, Informix, DB2) с помощью драйверов Borland SQL Links ;
-
доступ к любым источникам данных, имеющим драйвер ODBC (Open DataBase Connectivity), например, к файлам электронных таблиц (Excel, Lotus 1-2-3), серверам баз данных, не имеющим драйверов SQL Links (например, Gupta/Centura);
-
создание приложений клиент-сервер, использующих разнородные данные;
-
высокую производительность при работе с плоскими таблицами;
-
использование SQL (Structured Query Language - язык запросов к серверным СУБД), в том числе при работе с локальными данными;
-
изоляцию приложения от средств языковой поддержки;
-
изоляцию приложения от конфигурации системы и сети.
Рис. 4 Связь приложений с источниками данных с помощью BDE.
BDE «общается» с SQL сервером через драйверы ODBC.
Следует обратить внимание на то, что перед описанием ODBC-источника в файле конфигурации BDE обязательно нужно установить соответствующий ODBC-драйвер и описать соответствующий источник данных в панели управления Windows NT, используя соответствующий ODBC-администратор. При этом следует обратить внимание на некоторую терминологическую неувязку. Дело в том, что ODBC-драйвер с точки зрения BDE, создаваемый при нажатии кнопки New ODBC Driver на странице Drivers утилиты конфигурации BDE, на самом деле представляет собой указание не на реальный ODBC-драйвер, установленный в панели управления Windows, а на конкретный источник данных, доступ к которому осуществляется с помощью реального ODBC-драйвера (с точки зрения панели управления). А потому рекомендуется такой порядок установки при осуществлении доступа к ODBC-источникам :
-
Установить нужный ODBC-драйвер (и, возможно, соответствующий ODBC-администратор для панели управления Windows).
-
Описать с помощью ODBC-администратора необходимый источник данных в панели управления.
-
Запустить утилиту конфигурации BDE и нажать кнопку New ODBC Driver на странице Drivers.
-
Придумать и ввести имя так называемого ODBC-драйвера с точки зрения BDE.
-
Выбрать "настоящий" ODBC-драйвер из установленных в операционной системе.
-
Выбрать имя источника данных.
-
Нажать OK. В списке драйверов появится новый так называемый ODBC-драйвер (с точки зрения BDE).
-
Перейти на страницу Aliases и создать псевдоним, связанный со вновь созданным драйвером с точки зрения BDE.
При работе с ODBC-источниками требуется настройка следующих параметров:
Параметр | Описание | Значение по умолчанию |
VERSION | Внутренний параметр BDE | 1.0 |
TYPE | Идентификатор ODBC-источника | FILE |
DLL | Имя 16-разрядной динамической библиотеки, содержащей драйвер | IDODBC16.DLL |
DLL32 | Имя 32-разрядной динамической библиотеки, содержащей драйвер | IDODBC32.DLL |
ODBC DRIVER | ODBC-драйвер для соединения с сервером |
|
DRIVER FLAGS | Внутренний параметр BDE |
|
USER NAME | Имя пользователя в диалоге ввода пароля |
|
ODBS DSN | Имя источника данных, описанного в администраторе ODBC |
|
OPEN MODE | Параметр, определяющий, в каком режиме открываются таблицы - READ/WRITE or READ ONLY | READ/WRITE |
LANGDRIVER | Языковый драйвер, определяющий набор символов и порядок алфавитной сортировки | 'ascii'ANSI |
SCHEMA CASHE SIZE | Число таблиц, чья структура кэшируется. Возможные значения - от 0 до 32 | 8 |
SQLQRYMODE | Метод выполнения запросов. Возможные значения: LOCAL - запрос обрабатывается только клиентским приложением, SERVER - запрос выполняется только сервером, NULL (пустая строка) - запрос передается клиенту, если сервер не может его обработать. | NULL |
SQLPASSTHRU MODE | Определяет режим совместного использования одного и того же псевдонима направляемыми на сервер и локальными запросами: NOT SHARED - совместное использование запрещено, SHARED AUTOCOMMIT - совместное использованием разрешено с автоматическим завершением транзакций, SHARED NOAUTOCOMMIT - совместное использованием разрешено с завершением транзакций по правилам сервера. | SHARED AUTOCOMMIT |
TRACE MODE | Численное значение, определяющее уровень вывода отладочной информации. |
|
SCHEMA CACHE TIME | Время нахождения информации о структуре таблиц в кэше в секундах от 1 до 2147483647. Другие значения: -1 - до закрытия БД, 0 - информация не кэшируется | -1 |
BATCH COUNT | Число записей, помещаемых в пакет до завершения транзакции | Число записей, умещающихся в 32 К. |
MAX ROWS | Максимальное число записей, которые драйвер может доставить на рабочую станцию при выполнении одиночного SQL-запроса | -1 (нет ограничений) |
ROWSET SIZE | Число записей, доставляемых в одном блоке данных (поддерживается не всеми ODBC- драйверами). | 20 |
4.2 Реализация запросов к базе данных.
В данном разделе описывается построение запросов к базе данных, то есть написание самих файлов ASP с помощью которых пользователем осуществляется ввод информации для поиска необходимой ему информации, а так же программ-скриптов, находящиеся непосредственно на сервере и обрабатывающие запросы.
Специальных оболочек для написания данных программ-скриптов не использовалось, хотя компания Microsoft рекомендует для разработки свою программу Visual InterDev.
Начальная программа-скрипт (Db008.asp), запускается у пользователя-клиента, осуществляет вывод полей для ввода уточняющей информации по запросу. Эта же программа осуществляет вызов следующего ASP файла и передачу ему необходимой информации по конкретному запросу.
Существует два метода для передачи параметров из форм: метод GET и метод POST.
Метод GET служит для получения любой информации, идентифицированной URI-Запроса. Если URI - Запроса ссылается на процесс, выдающий данные, в качестве ответа будут выступать данные, сгенерированные данным процессом, а не код самого процесса (если только это не является выходными данными процесса). Использование метода условный GET направлено на разгрузку сети, так как он позволяет не передавать по сети избыточную информацию.
Метод POST используется для запроса сервера, чтобы тот принял информацию, включенную в запрос, как субординантную для ресурса, указанного в Строке Статус в поле URI-Запроса. Метод POST был разработан, чтобы была возможность использовать один общий метод для следующих функций:
-
Аннотация существующих ресурсов
-
Добавление сообщений в группы новостей, почтовые списки или подобные группы статей
-
Доставка блоков данных процессам, обрабатывающим данные
-
Расширение баз данных через операцию добавления
Реальная функция, выполняемая методом POST, определяется сервером и обычно зависит от URI- Запроса. Добавляемая информация рассматривается как субординатная указанному URI в том же смысле, как файл субординатен каталогу, в котором он находится, новая статья субординатна группе новостей, в которую она добавляется, запись субординатна базе данных.
Клиент может предложить URI для идентификации нового ресурса, включив в запрос заголовок "URI". Тем не менее, сервер должен рассматривать этот URI только как совет и может сохранить тело запроса под другим URI или вообще без него.