Продолжается подписка на наши издания! Вы не забыли подписаться?

Продукты: ascContainer, ascDB, ascLib.

Кратко об ascDb: зачем оно нужно и как его скачать.

ascDb - это набор компонентов для работы с базами данных в многоуровневой распределенной среде. ascDb работает с любыми серверами баз данных, доступными на Wintel-платформе. ascDB позволяет инкапсулировать тонкости взаимодействия с конкретным сервером в серверном компоненте, а зачастую вообще снять этот вопрос, так как непосредственно взаимодействующие с СУБД компоненты ascDB уже оптимизированы для конкретных серверов. 

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

ascDB основан на DCOM и пользуется всеми преимуществами Automation marshaling'а при передаче данных по сети или между процессами ОС. Информация разбивается на блоки на серверной стороне и прозрачно для пользователя стыкуется на стороне клиента. Клиент воспринимает информацию как прокручиваемый курсор.

ascDb дает возможность разработки надежно масштабируемых приложений в многоуровневой архитектуре клиент-сервер. Компоненты ascDb могут применяться в любых поддерживающих COM средствах разработки windows-приложений. Визуальные компоненты ascDb (элементы управления ActiveX) позволяют быстро собрать клиентское приложение для отображения и редактирования данных. Среди протестированных: VB 6, Delphi, VFP, VC 6, C# и VB.Net (эти языки пока находятся в стадии бета тестирования и содержат массу ошибок. По этому стабильной и правильной работы ними, пока ожидать нельзя).

Установка ascDb

Бета-версия ascDb может быть установлена на любой PC, работающий под управлением Windows NT 4.0 SP6a (NT), Windows Me, Windows 9x (с установленным DCOM 9x) или Windows 2000 (W2K). В качестве сервера приложений можно
использовать любое Windows-приложение. Самым удобным вариантом является использование в качестве сервера приложений Component Services (COM+) в Windows 2000 или Microsoft Transaction Server (MTS) в Windows NT и Windows 9х. В NT и W2K серверное приложение может запускаться в качестве сервиса (службы).
Инсталлятор предусматривает возможность выбрать полную установку ascDb (серверная установка) или установку только клиентской части. Если у Вас нет возможности протестировать ascDb в условиях сети, то Вы можете поработать локально/ Для этого нужно выбрать серверный вариант установки ascDb.
Для упрощения работы в поставку ascDb входят два шаблона VB6-проектов (клиентского приложения и серверной библиотеки). Разумеется, ascDb может работать и с другими RAD (VB6 использовался нами в качестве основного полигона для тестирования).
Разобраться с ascDb будет намного легче, если Вы установите набор примеров. К сожалению, для того, чтобы они заработали, необходимо установить MS SQL Server 7.0 (или выше. Тестирование производилось на MS SQL Server 2000), но, даже если SQL-server не установлен. Наличие MS SQL Server не является обязательным, но на него настроены примеры. MS SQL Server можно заменить MS Access (Jet 4).

Если Вы решили ознакомиться с ascDb, то Вы можете скачать:
a) инсталлятор
бета-версии ascDb (zip ~ 2.8 Мб).
b) инсталлятор примеров ascDb для Microsoft Visual Basic (zip 0.2 Мб).
c) инсталлятор примеров ascDb для Borland Delphi (zip 0.8 Мб). *
* ВНИМАНИЕ!!! Инсталлятор примеров ascDb для Microsoft Visual Basic содержит в себе некоторые элементы (команды и пр.), которые являются общими для всех остальных примеров. Если Вы хотите установить, например, только Delphi-примеры, то Вам все-равно придется установить примеры для Visual Basic.

Перед установкой прочитайте readme.txt (там описаны возможные проблемы с установкой бета-версии продукта и пр.).

Сборка приложения с использованием ascDb

Более подробно детали этого процесса описаны в Help (файл ascDbHelp.chm). Кратко - ниже:

  1. Установите ascDb-сервер и ascDb-клиент на предназначенные для этого компьютеры. Если Вы не намерены использовать сеть, то достаточно установить только ascDb-сервер (клиент автоматически ставится вместе с ним).
  2. Создайте и настройте источник данных для доступа к выбранной Вами базе данных.
    Для этого запустите ascDb-консоль (ее можно найти в разделе ascDb\Tools в Start-меню или в соответствующем каталоге на диске). Список источников данных будет представлен на закладке "Настройщик источников данных" ("Data Source Manager"). 
  3. Создайте и настройте ascDb-команду для хранения и выполнения SQL-запроса.
    Для этого запустите "Дизайнер хранимых команд ascDb" (он же "Command Designer". Его можно найти в ascDb\Tools в Start-меню или в соответствующем каталоге на диске).
    Указывать имя компьютера не обязательно. По умолчанию для сервисных служб ascDB будет использоваться сервер, указанный при инсталляции ascDB-клиента (или локальная машина при серверной установке). Для ваших компонентов будет использоваться сервер указанный, при регистрации proxy вашего midleware-компонента. Если вас не устраивают настройки по умолчанию, то задайте имя сервера вручную. Это можно сделать на первой странице ("Источник данных и выбор команды"): выберите имя компьютера, на котором установлен ascDb-сервер (если он на этой же машине, то нажмите кнопку "Локальный").
    Выберите ранее созданный источник данных (п.2) и нажмите кнопку "Создать".
    Введите текст SQL-запроса. Если в нем используются параметры, то нажмите на кнопку "Считать параметры с SQL". Пример запроса с параметром: select * from table1 where field1 like :param1.
    Сохраните команду.
    Перейдите на закладку "Тест" и проверьте работу команды.
    Если Вы хотите, чтобы результат запроса был редактируемым, то на странице "Запись" следует добавить таблицу, в которую будут сохранятся внесенные изменения (в приведенном выше примере sql-запроса это таблица "table1"). Сохраните команду.
    Вы можете изменять данные в режиме "Тест" (чтобы изменения после записи действительно сохранились в базе, надо выбрать Commit, иначе Rollback).
    Также в режиме "Тест" Вы можете проверить работу редакторов и отрисовщиков (они подключаются на странице "Колонки", закладка "Домены, редакторы, отрисовщики"). Более подробно о настройках хранимых команд читайте в Help.
  4. Создайте middleware-объект на сервере.
    Если Вы используете VB6, то создайте новый проект и выберите из списка шаблонов ascDbServer. Прочтите readme к этому проекту (файл "ascDbServer_readme.txt" в каталоге VB-шаблонов). Создайте свой метод по описанному в проекте шаблону. Метод должен вызывать хранимую команду, созданную Вами в п.3 . Скомпилируйте библиотеку и установите в настройках проекта "Binary Compatibility".
    Вообще middleware-объект не обязательно создавать на VB - подойдет любое другое средство, позволяющее создавать COM-объекты.
  5. Добавьте middleware-объект в список удаленных объектов-загрузчиков.
    Для этого воспользуйтесь закладкой "Remote Objects Manager" в ascDb-консоли (помните, что под словом "удаленный" понимается "remote", а не "removed":-))!
  6. Если клиентское приложение будет работать на удаленном компьютере, то создайте на сервере COM+ или MTS-приложение, добавьте в него библиотеку со своим middleware-объектом и создайте для него proxy (через export приложения). Эту proxy следует установить на клиентскую машину.
  7. Создайте клиентское приложение.
    Если Вы используете VB6, то создайте новый проект и выберите из списка шаблонов ascDbClient. Прочтите readme к этому проекту (файл "ascDbClient_readme.txt" в каталоге VB-шаблонов). Если Вы хотите использовать визуальные компоненты ascDb, то сбросьте на форму ascLoader, ascVisualCursor и ascDataGrid (для отображения данных).
    Подключите ascLoader  к ранее созданному middleware-объекту (п.5) с помощью его страницы свойств (страница свойств появляется, например, при выборе пункта "Свойства" в меню, всплывающем по правой кнопке мыши).
    Активируйте ascLoader (установите его свойство ascActive равным True).
    Подключите ascVisualCursor с помощью его страницы свойств к ascLoader'у и выберите в списке функций созданный Вами метод middleware-объекта (п.4).
    Активируйте ascVisualCursor (установите его свойство ascActive равным True).
    Подключите ascDataGrid с помощью его страницы свойств к ascVisualCursor'у. Таблица должна начать отображать данные так же, как это выглядело на странице "Тест" при создании команды (см п.3).
    Если Вы хотите работать с сервером непосредственно из кода программы, то подключите библиотеку с middleware-объектом в качестве "References" к клиентскому VB-проекту (по умолчанию это библиотека ascDbServer), создайте экземпляр middleware-объекта, вызывайте его метод, получите курсор и работайте через его методы (пример есть в шаблоне клиентского проекта).
  8. Если ascDb установлено на единственной машине, то можно не мучаться с COM+ и MTS - клиентская часть будет работать в локальном режиме.

Вы можете задать вопрос или высказать свои пожелания в этой конферанции:


Copyright © 1994-2022 ООО "К-Пресс"