Внешние базы данных

Помимо интерфейса ODBC среда также поддерживает Microsoft .NET ActiveX Data Objects (ADO.NET) для организации взаимодействия базы приложения с внешними базами данных.


Заметим: Для более подробной информации о взаимодействии ADO.NET со средой, включая принципы коммутации с удалёнными базами данных с помощью шлюза баз данных IWS, см. Настройки баз данных.



Соединение с базой данных


Для установления связи с конечной базой данных надо:


  1. В проектной области раскрыть папку «Внешние базы данных» (External Databases), нажать правой кнопкой на папке «Соединения» (Connections).


  1. Выбрать в появившемся меню пункт «Вставка» (Insert).



После чего возникнет диалог соединения с базой данных.


  1. В поле «Имя» (Name) указывается имя соединения. Каждое соединение должно обладать уникальным именем.


  1. В поле «Строка соединения» (Connection String) нажмите кнопку загрузки , чтобы открыть стандартный диалог свойств соединения (Data Link Properties). Диалог предназначен для определения строки соединения с конечной базой.


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


  1. В полях «Имя пользователя» (User Name) и пароль (Password) задаётся подходящий аккаунт для пользования конечной базой. Аккаунт при этом уже должен быть определён на сервере базы, и должен обладать привилегиями, достаточными для организации чтения и записи данных в таблицы базы.


  1. Если соединение устанавливается с удалённой базой при помощи шлюза среды, нажмите кнопку «Дополнительно» (Advanced), чтобы открыть соответствующий диалог.



  1. В поле «Хост» (Host) указывается IP адрес станции, на которой выполняется шлюз баз данных IWS (STADOSvr.exe). В поле «Порт» (Port) указывается номер порта, обслуживаемого шлюзом.


Имеются также прочие, необязательные для настройки, параметры:


  1. С нажатием кнопки ОК закрывается  диалог и происходит сохранение всех настроек соединения.


Настройки соединений сохраняются в формате XML файла в директории \Application Name\Config. Имя каждого файла совпадает с именем соединения, чьи настройки он хранит (расширение .XDC). Например, настройка для соединения DB1 хранится в файле \Application Name\Config\DB1.XDC.



Редактор работы с базой


Заметим: Эта служба эмулирует операции языка Structure Query Language (SQL). Для использования этой службы требуются знания в написании и выполнении команд SQL.


Редактор позволяет проводить асинхронное выполнение операций касательно базы данных. Он обладает удобным интерфейсом для создания SQL команд. Создать новый редактор работы можно одним из нескольких способов:



Редактор работы с базой имеет следующий вид:



Редакторы работы с базой хранятся в директории \application_name\Config с расширением .XDB. Каждый редактор автоматически нумеруется средой в порядке своего появления. Например, первый созданный редактор будет располагаться в файле


\application_name\Config\DB001.XDB


Содержимое редакторов реализуется службой клиента базы данных, которая является задачей режима выполнения. Однако создание редактора не означает автоматический запуск этой службы. Режим автоматического запуска службы можно установить в диалоге, выбрав пункт главного меню Проект > Статус (Project > Status).


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


Заголовочная область


В заголовочной области располагаются:




Код статуса

Описание

4

Пустой результирующий набор

3

Курсор освобождён с успешным выполнением запроса

2

Начало результирующего запроса, обычно при переходе курсора на первую запись

1

Достигнут конец результирующего набора, обычно при переходе курсора к следующей записи

0

Нет ошибок, статус нормальный

-1

Ошибка соединения с базой

-2

Ошибка при формировании результирующего набора

-3

Ошибка при переходе курсора к следующей записи (см. триггер перехода к следующей записи)

-4

Ошибка при переходе курсора к предыдущей записи (см. триггер перехода к предыдущей записи)

-5

Ошибка при завершении запроса (см. триггер завершения запроса)

-6

Ошибка при добавлении записей в результирующий запрос (см. триггер добавления)

-7

Ошибка при обновлении результирующего запроса (см. триггер обновления)

-8

Ошибка при удалении результирующего запроса (см. триггер удаления)







Заметим: Для полей «Таблица» (Table), «Условие» (Condition) и «SQL выражение» (SQL statement) допустимо использование тегов приложения. Изменение значений этих тегов позволит менять условия работы редактора в режиме выполнения приложения. В этом случая для того, чтобы среда при обработке редактора могла отделить теги от строчных символов, их необходимо заключать в фигурные скобки. Также требуется освобождение от прежних выборок, см. завершение запроса (Close Query) ниже.












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


Тело редактора


Тело редактора задачи представляет собой совокупность связей между тегом приложения и столбцом рабочей таблицы. В каждый момент времени вся совокупность соответствует одной записи таблицы. В ячейках «Имя тега» (Tag Name) указываются имена тегов, которые привязываются к значениям определённых атрибутов (столбцов) каждой записи рабочей таблицы. Имена привязываемых атрибутов указываются в ячейках «Столбец» (Column). Важно установить связь со всеми необходимыми столбцами, поскольку от этого будет зависеть состав и условия выборки результирующих наборов


Created with the Freeware Edition of HelpNDoc: Easy to use tool to create HTML Help files and Help web sites