Использование Caché SQL Gateway
Гришина Мария,
В Caché реализован специальный механизм Caché SQL Gateway, позволяющий обращаться к внешним источникам данных посредством ODBC. Таким образом, этот механизм позволяет программам на языке Caché Object Script осуществлять обращение к внешним реляционным базам данных. В отличие от Caché ODBC (JDBC и др.), предоставляющих доступ к данным Caché для внешних реляционных источников, SQL Gateway – это средство, позволяющее взаимодействовать с реляционными источниками данных в противоположном направлении.
Поскольку для связи с внешними реляционными источниками данных Caché SQL Gateway использует ODBC, необходимо создать и/или настроить источник данных ODBC (DSN) соответствующей “внешней” базы данных. Для этого необходимо выполнить следующие действия (или убедиться, что они уже выполнены):
1) Инсталлировать драйверы ODBC соответствующей СУБД. Некоторые драйверы, например MS SQL Server как правило, уже присутствуют в Windows. Некоторые, такие как MSM SQL, MySQL устанавливаются отдельно. Некоторые (Oracle, Caché) инсталлируются при установке клиентской части СУБД.
2) Создать источник данных (DSN) из программы настройки ODBC. Например, в ОС Windows 2000 эта программа доступна из меню Windows: Start->Settings->Control panel->Administrative tools->Data Sources (ODBC) (Рис.1). Рекомендуется для работы через SQL Gateway создавать системные DSN.
3) После создания DSN появится диалог конфигурации, который специфичен для каждого отдельного драйвера. Как правило, необходимо указать имя сервера, имя пользователя и пароль, и некоторые другие настройки, например, БД по умолчанию.
Рис. 1. ODBC Data Source Administrator
Возможно несколько способов использования SQL Gateway:
- Создание так называемых link-таблиц и хранимых (Persistent) классов Caché, использующих Gateway-хранение (т.е. данные которых хранятся во внешних СУБД);
- выполнение запросов, обращаясь непосредственно к внешним таблицам (с использованием класса Caché %ResultSet (который обычно используется разработчиками для выполнения запросов к классам Caché) в сочетании с классами %SQLGatewayConnection и %DynamicQueryGW);
- работа с SQL Gateway на низком уровне (используя функции SQL Gateway API).