- •Глава 1. Базы данных
- •Глава 2. Работа с visual foxpro
- •Глава 3. Работа в среде ms sql server 2000
- •Глава 1. Базы данных
- •1.1.2 Отношения между атрибутами
- •1.1.4 Операции над таблицами
- •1.1.5 Триггеры, ограничения и правила
- •6 Хранимые процедуры
- •1.4.1 Необходимость нормализации
- •1.4.2 Первая и вторая нормальные формы
- •1.4.3 Третья нормальная форма
- •Глава 2. Работа с visual foxpro
- •2.1.3 Создание отношений между таблицами
- •2.1.4 Операции над таблицами
- •2.1.5 Программные prg-файлы и процедуры
- •2.1.6 Совместное использование программных файлов, формы и меню
- •2.2.1 Описание визуальных компонентов
- •2.3.1 Классы объектов
- •2.3.2 Создание панели инструментов
- •Использование классов для связи с word,excel и другими приложениями foxpro
- •2.4 Соединения, курсоры, представления
- •2.4.2 Работа с курсорами и представлениями
- •Сквозные sql-запросы
- •2.5 Клиент-серверные приложения foxpro
- •2.5.1 Создание, регистрация и использование серверов автоматизации
- •2.5.2 Конфигурирование клиентов
- •2.5.1 Создание , регистрация и использование серверов автоматизации
- •Замечание. При регистрации в реестр записывается полный путь к файлу сервера автоматизации. Поэтому при переносе сервера на другое место регистрацию нужно провести повторно.
- •Здесь myservfpro представляет имя сервера (exe-файла или dll-файла). Myserv – представляет имя класса, где описан сервер автоматизации. GetName() представляет метод, описанный в классе myserv .
- •2.5.2 Конфигурирование клиентов
- •2.6 Создание отчетов
- •3.1.2 Добавление пользователей
- •3.1.3 Создание и связывание таблиц
- •3.1.3 Создание представлений
- •3.2 Язык transact-sql
- •3.2.1 Основы программирования
- •3.2.2 Функции
- •3.2.3 Хранимые процедуры
- •3.2.4 Использование курсоров
- •3.2.5 Системные хранимые процедуры
- •3.2.6 Связь foxpro и sql server
- •3.3 Утилита query analyser
- •В окне редактора кода можно формировать и выполнять sql-команды, создавать и запускать хранимые процедуры, триггеры, представления и пр. Например, рассмотрим результат выполнения запроса:
- •3.4 Установка и администрирование sql server
2.5 Клиент-серверные приложения foxpro
2.5.1 Создание, регистрация и использование серверов автоматизации
2.5.2 Конфигурирование клиентов
2.5.1 Создание , регистрация и использование серверов автоматизации
Сервер автоматизации – это компонент COM(ComponentObjectModel), размещенный на сервере, причем удаленные клиенты могут обращаться к данному компоненту с целью использовать какие-то из его методов. Например, как это принято в современной терминологии,COM-объект может реализовать бизнес-методы, доступные для использования многим клиентам. В таком случае клиент вызывает метод сервера и передает ему параметры, например, для реализацииSQL-запроса на выборку данных.
Для создания сервера автоматизации необходимо построить обычный проект и поместить в нем классы, определенные как OLEPUBLIC. Обычно классы объявляются в программныхprg-файлах. В качестве простого примера возьмем следующий:
DEFINE class myserv AS CUSTOM OLEPUBLIC
FirstName = SPACE(30)
LastName = SPACE(45)
PROCEDURE GetName
RETURN THIS.FirstName + " " + THIS.LastName
ENDPROC
PROCEDURE PutName
Parameters F,L
THIS.FirstName=F
THIS.LastName=L
Return
ENDPROC
ENDDEFINE
В результате компиляции можно создать два типа сервера автоматизации. Первый тип работает автономно, возможно, на другом компьютере. Второй тип работает в том же адресном пространстве, что запустивший его процесс. Первый вариант соответствует исполняемому exe-файлу, второй – dll.функции, динамически подключаемой к выполняющемуся процессу.
Для компиляции сервера автоматизации необходимо выполнить следующие действия.
В окне дизайнера проектов выбрать кнопку Build.
В зависимости от типа создаваемого сервера выбрать далее кнопку Build ExecutableилиBuild DLL.
Нажать OK.
В окне ProjectInformationможно задать дополнительные свойства проекта сервера автоматизации.
Single Use В этом случае каждый клиент создает собственную версию сервера и работает с нею не разделяя с другими клиентами.
Multi Use Многие клиенты разделяют работающее приложение сервера автомтаизации.
Разумеется, после изменения указанных свойств нужно выполнить повторную колмпиляцию.
В результате компиляции будут созданы следующие три файла:
.dllили.exe
библиотечный файл (.tlb)
файл регистрации (.vbr)
Библиотечный tlb-файл содержит в двоичном формате все методы класса сервера наряду с указанными в описаниях классов свойствами и событиями. Когда клиент обращается к какому-либо методу сервера именно из этого файла выполняется чтение.
Файл регистрации содержит уникальные идентификаторы для ссозданных классов сервера, которые сохраняются в реестре.
Сервер становится доступным для других процессов после того, как он будет зарегистрирован в реестре Windows. В результате компиляции сервер автоматически регистрируется в реестре машины, на которой компиляция выполнялась. При переносе сервера на другую машину его следует зарегистрировать на новой машине.
Для ручной регистрации exe-компонента сервера автоматизации нужно сделать следующее:
Выполнить exe-файл с опцией/regserver, например,
Myserver.exe /regserver
Для удаления файла из реестра необходимо
Выполнить .exeфайл с опцией/unregserver.
Для ручной регистрации .dllкомпонента сервера автоматизации необходимо
Выполнить программу REGSVR32 с именем сервера в качестве параметра, например:
REGSVR32 Myserver.dll
Для удаления из реестра dll-компоненты нужно выполнить:
REGSVR32 /u myserver.dll