Вкладка «Подключение» для ODBC

Вкладка Подключение используется для настройки параметров подключения к данным ODBC.

Вкладка Подключение для каждого поставщика своя. На нее выносятся только те свойства соединения, которые необходимы для поставщика OLE DB для ODBC.

Параметр Описание
Использовать имя источника данных Выберите из списка или введите имя источника данных ODBC (DSN), к которому необходимо получить доступ. Имеется возможность добавить другие источники с помощью администратора источников данных ODBC. Обновите список с помощью кнопки Обновить.
Использовать строку подключения Ввод или создание строки подключения ODBC вместо использования существующего источника данных DSN.
Сборка Вызов диалогового окна Выбор источника данных. После выбора источник данных строка подключения к этому источнику появится на вкладке Подключение диалогового окна Свойства связи с данными. При выборе файлового источника данных результирующая строка подключения ODBC не будет зависеть от источника. Она останется в файле связи с данными (.udl) и не будет зависеть от выбора источника данных. При выборе источника данных компьютерарезультирующая строка подключения ODBC будет зависеть от источника. Строка подключения ODBC будет указывать на источник выбранного компьютера. Пользователям других систем для доступа к файлу связи с данными (.udl) необходимо будет также установить источник данных компьютера.
Пользователь Введите имя пользователя, необходимое для подключения к источнику данных.
Пароль Введите пароль, который будет использоваться при подключении к источнику данных.
Пустой пароль Позволяет поставщику возвращать строку подключения с пустым паролем.
Разрешить сохранение пароля Разрешает сохранение пароля вместе со строкой подключения. Будет ли включен пароль в строку подключения, зависит от функциональных особенностей вызывающего приложения. Примечание. Пароль сохраняется и передается в незашифрованном виде.
Введите начальный каталог Введите имя каталога (или базы данных) или выберите его из раскрывающегося списка.
Проверить подключение Проверка соединения с указанным источником данных. Если соединение установить не удалось, убедитесь в правильности заданных настроек. Возможно, отсутствие соединения вызвано неточным соблюдением регистра символов или ошибками синтаксиса.

Технология ADO

В Delphi версий 5, 6 и 7 поддерживается технология ADO (ActiveX Data Objects — объекты данных, построенные как объекты ActiveX), которая усиленно развивается корпорацией Microsoft. На основе этой технологии созданы соответствующие компоненты-наборы TADOTable, TADOQuery, TADOStoredProc, повторяющие в функциональном отношении компоненты TTable, TQuery, TStoredProc, но не требующие развертывания и настройки BDE на клиентской машине.

TStoredProc – хранимая процедура. Эти процедуры хранятся на сервере, а не в клиентском приложении. Могут быть написаны как на SQL, так и на языке программирования (Java). Это позволяет более эффективно выполнять операции над набором данных (сортировка, фильтрация).

Основные особенности использования технологии ADO не зависят от архитектуры БД: эта технология характерна не только для файл-серверных БД, но также и для клиент-серверных и трехзвенных БД.

Основным достоинством технологии ADO является ее естественная ориентация на создание «облегченного» клиента. В рамках этой технологии на машине разработчика БД устанавливаются базовые объекты MS ADO и соответствующие компоненты Delphi (рис. 1), обеспечивающие использование технологии ADO (эти установки осуществляются автоматически при развертывании Delphi). На машине сервера данных (это может быть файловый сервер в рамках файл-серверной технологии или машина с сервером данных — в технологии клиент-сервер) устанавливается так называемый провайдер данных — некоторая надстройка над специальной технологией OLE DB, «понимающая» запросы объектов ADO и «умеющая» переводить эти запросы в нужные действия с данными. Взаимодействие компонентов ADO и провайдера осуществляется на основе универсальной для Windows технологии ActiveX, причем провайдер реализуется как СОМ-сервер, а ADO-компоненты — как СОМ-клиенты.

На машине сервера создается и размещается источник данных. В случае файл-серверных систем отдельные таблицы типа dBASE, FoxPro, Paradox и т. п. должны управляться соответствующим ODBC-драйвером, а в роли провайдера используется Microsoft OLE DB Provider for ODBC drivers. Если по каким-либо причинам не найден нужный драйвер, файл-серверные таблицы можно перенести в формат MS Access. На их основе создается единый файл, содержащий все необходимые таблицы, индексы, хранимые процедуры и прочие элементы БД. Такой файл управляется машиной баз данных Microsoft Jet 4.0 Database Engine, а в роли провайдера используется Microsoft Jet 4.0 OLE DB Provider.

Рис. 1. Реализация технологии ADO в Delphi

Если используется промышленный сервер данных Oracle или MS SQL Server, данные не нуждаются в какой-либо предварительной подготовке, а в роли провайдера используется соответственно Microsoft OLE DB Provider for Oracle или Microsoft OLE DB Provider for SQL Server. Нетрудно обнаружить и явный недостаток такой технологии: ADO не может использоваться, если для соответствующей структуры данных (в частности, для БД многих популярных серверов — InterBase, Informix, DB2 и пр.) не создан нужный провайдер или ODBC-драйвер.

На машине клиента располагаются связные компоненты TADOConnection и компоненты-наборы данных TADOTable, TADOQuery, TADOStoredProc, а также не показанные на рисунке компоненты-наборы TADODataSet и командные компоненты TADOCommand. Каждый из этих компонентов может связываться с провайдером данных либо с помощью связного компонента TADOConnection, либо минуя его и используя собственное свойство ConnectionString. Таким образом, компонент TADOConnection играет роль концентратора соединений с источником данных компонентов-наборов, и в этом смысле он подобен компоненту TDatabase в традиционной архитектуре с BDE.

Компоненты-наборы TADODataSet в функциональном плане повторяют свойства Delphi компонентов TClientDataSet технологии MIDAS. Командные компоненты TADOCommand предназначены для реализации запросов на языке определения данных (Data Definition Language, DDL), то есть для реализации SQL-запросов, которые не возвращают данные (запросы типа CREATE, DROP, UPDATE и т. п.). Специальный компонент RDSConnection (не показан на рисунке) создан для упрощения связи с MS Internet Explorer и при разработке интранет-приложений. Компоненты-наборы с помощью компонентов-источников TDataSource и визуализирующих компонентов TDBGrid, TDBMemo, TDBEdit и т. п. обеспечивают необходимый интерфейс с пользователем программы.

Общие вопросы создания трехзвенных приложений

В этом уроке рассматриваются разнообразные вопросы, характерные для трехзвенной архитектуры, которые приходится решать программисту при разработке соответствующих СУБД.

Сервер приложений

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

Технологии удаленного доступа

Ниже еще раз кратко перечисляются характерные черты технологий удаленного доступа.

DCOM

Технология DCOM является развитием базовой технологии СОМ корпорации Microsoft. Безусловным достоинством технологии DCOM является ее органичное единство с Windows и простота реализации, так как основные инструменты этой технологии представляют собой неотъемлемые части ОС Windows. Поскольку на сегодня 32-разрядная версия Windows - самая распространенная ОС для персональных компьютеров, технология DCOM и базирующиеся на ней технологии MTS и СОМ+ в ближайшие годы будут, судя по всему, наиболее популярными технологиями удаленного доступа.

К недостаткам DCOM можно отнести, во-первых, требование, чтобы серверная машина работала под управлением относительно дорогостоящей ОС Windows NT/ 30/ХР Server, и, во-вторых, полное отсутствие в DCOM средств, характерных для многопользовательского доступа (координация работы нескольких серверов приложений, управление транзакциями). Эти недостатки и стали причиной появления технологии MTS.

MTS

Технология MTS может реализовать удаленный доступ средствами DCOM или сокетов: она не является технологией удаленного доступа как таковой, но служит весьма полезным инструментом управления транзакциями, то есть, ориентирована на поддержку трехзвенной архитектуры. Дополнительной особенностью MTS является разграничение прав доступа к данным на основе ролей, приписываемых как пользователю, так и данным. Технология MTS является собственностью Microsoft. Она не поддерживается в Delphi, поэтому средства для ее поддержки должны приобретаться отдельно.

При разработке Windows 2000/XP технология MTS стала неотъемлемой частью модели СОМ, которая получила название СОМ+.

CORBA

Хотя в технологии CORBA, как и в DCOM, для удаленного доступа используется механизм интерфейсов, она реализуется на принципах, отличных от СОМ, что позволяет ей работать в смешанных (гетерогенных) системах, то есть в сети, где одновременно обслуживаются машины разного типа, работающие под управлением разных ОС, например сервер на «большой конторской» машине (мэйнфрейме), работающей под управлением ОС UNIX или VMS, и клиентские места на IBM-совместимых ПК, работающих под управлением 32-разрядной версии Windows, Linux или OS/2. CORBA имеет гибкие средства управления загрузкой нескольких серверов приложений и переключения клиентов на работоспособные серверы, а также возможность дополнительной защиты данных с помощью современных криптографических средств. Вариант реализации CORBA компанией Visigen (так называемая технология VisiBroker) включен в комплект поставки Delphi.

SOAP

Технология SOAP введена в Delphi 6. В ней используется простой протокол доступа к объекту (Simple Object Access Protocol, SOAP) и транспортный протокол HTTP. Хотя в некоторых случаях (в особенности при необходимости публикации БД в Интернете) эта технология может быть задействована и в трехзвенных БД, ее основное назначение — программирование для Интернета.

Технология InterBase Express

Технология InterBase Express (IBX) рассчитана на создание «облегченного» клиента. С этой целью она предоставляет программисту способ непосредственного обращения к промышленному серверу InterBase версии 5.5 и выше без использования машины баз данных BDE или подобных средств доступа к данным. Delphi не запрещает и традиционную архитектуру с BDE, однако, если вы собираетесь создавать клиент-серверную СУБД на основе сервера InterBase 5.5 и выше, вряд ли программист откажется от более компактных и быстрых средств IBX.