ODBC-источники

При работе с ODBC-источниками требуется настройка следующих параметров:

Параметр Описание Значение по умолчанию
VERSION Внутренний параметр BDE 1.0
TYPE Идентификатор ODBC-источника FILE
DLL Имя 16-разрядной динамической библиотеки, содержащей драйвер IDODBC16.DLL
DLL32 Имя 32-разрядной динамической библиотеки, содержащей драйвер IDODBC32.DLL
ODBC DRIVER ODBC-драйвер для соединения с сервером  
DRIVER FLAGS Внутренний параметр BDE  
USER NAME Имя пользователя в диалоге ввода пароля  
ODBS DSN Имя источника данных, описанного в администраторе ODBC  
OPEN MODE Параметр, определяющий, в каком режиме открываются таблицы - READ/WRITE eee READ ONLY READ/WRITE
LANGDRIVER Языковый драйвер, определяющий набор символов и порядок алфавитной сортировки 'ascii'ANSI
SCHEMA CASHE SIZE Число таблиц, чья структура кэшируется. Возможные значения - от 0 до 32
SQLQRYMODE Метод выполнения запросов. Возможные значения: LOCAL - запрос обрабатывается только клиентским приложением, SERVER - запрос выполняется только сервером, NULL (пустая строка) - запрос передается клиенту, если сервер не может его обработать. NULL
SQLPASSTHRU MODE Определяет режим совместного использования одного и того же псевдонима направляемыми на сервер и локальными запросами: NOT SHARED - совместное использование запрещено, SHARED AUTOCOMMIT - совместное использованием разрешено с автоматическим завершением транзакций, SHARED NOAUTOCOMMIT - совместное использованием разрешено с завершением транзакций по правилам сервера. SHARED AUTOCOMMIT
TRACE MODE Численное значение, определяющее уровень вывода отладочной информации.  
SCHEMA CACHE TIME Время нахождения информации о структуре таблиц в кэше в секундах от 1 до 2147483647. Другие значения: -1 - до закрытия БД, 0 - информация не кэшируется -1
BATCH COUNT Число записей, помещаемых в пакет до завершения транзакции Число записей, умещающихся в 32 К.
MAX ROWS Максимальное число записей, которые драйвер может доставить на рабочую станцию при выполнении одиночного SQL-запроса -1 (нет ограничений)
ROWSET SIZE Число записей, доставляемых в одном блоке данных (поддерживается не всеми ODBC- драйверами).

При создании псевдонимов баз данных на страницу Aliases по умолчанию заносятся параметры со страницы Drivers для соответствующего ODBC-драйвера. При необходимости многие из них можно переопределить.

Ряд ODBC-источников требует указания параметра PATH - пути к каталогу, где находится база данных.

Следует обратить внимание на то, что перед описанием ODBC-источника в файле конфигурации BDE обязательно нужно установить соответствующий ODBC-драйвер и описать соответствующий источник данных в панели управления Windows 95/NT, используя соответствующий ODBC-администратор. При этом следует обратить внимание на некоторую терминологическую неувязку. Дело в том, что ODBC-драйвер с точки зрения BDE, создаваемый при нажатии кнопки New ODBC Driver на странице Drivers утилиты конфигурации BDE, на самом деле представляет собой указание не на реальный ODBC-драйвер, установленный в панели управления Windows, а на конкретный источник данных, доступ к которому осуществляется с помощью реального ODBC-драйвера (с точки зрения панели управления). При этом следует еще создать и соответствующий псевдоним базы данных, что окончательно сбивает с толку некоторых начинающих пользователей. Таким образом, последовательность действий при осуществлении доступа к ODBC-источникам следующая:

  • Установить нужный ODBC-драйвер (и, возможно, соответствующий ODBC-администратор для панели управления Windows).
  • Описать с помощью ODBC-администратора необходимый источник данных в панели управления.
  • Запустить утилиту конфигурации BDE и нажать кнопку New ODBC Driver на странице Drivers.
  • Придумать и ввести имя так называемого ODBC-драйвера с точки зрения BDE
  • Выбрать "настоящий" ODBC-драйвер из установленных в операционной системе
  • Выбрать имя источника данных
  • Нажать OK. В списке драйверов появится новый так называемый ODBC-драйвер (с точки зрения BDE).
  • Перейти на страницу Aliases и создать псевдоним, связанный со вновь созданным драйвером с точки зрения BDE.

Рис. 6. Описание нового ODBC-драйвера "с точки зрения BDE".

Отметим, что в версии BDE, поставляемой с Delphi 3.0, вся эта терминологическая путаница ликвидирована, а все описанные в реестре Windows источники данных добавляются в список псевдонимов, и тем самым ликвидируется необходимость выполнения описанной выше инструкции. Остается надеяться, что в следующей версии C++ Builder доступ к ODBC-источникам упростится таким же образом

Для корректного отображения русских букв и установки правильного порядка алфавитной сортировки можно попытаться использовать какой-либо из русскоязычных драйверов dBase или Paradox. Однако следует помнить, что некоторые ODBC-драйверы имеют свои процедуры настройки, которые могут, в частности, включать опцию перекодировки OEM->ANSI (т.е. DOS->Windows). Кроме того, если доступ через ODBC осуществляется к какой-либо серверной СУБД, следует обратить внимание на возможности языковой настройки сервера и клиентской части.

Oracle

Для настройки доступа к серверам Oracle следует настроить примерно тот же набор параметров, что и в случае ODBC-источников. Помимо этого, для драйвера ORACLE существует дополнительный набор параметров:

Параметр Описание Значение по умолчанию
VENDOR INIT Имя библиотеки для соединения клиента с сервером (ORANT.DLL, ORA72.DLL и др.) ORANT.DLL
SERVER NAME Имя псевдонима (alias) БД, указанного в файле TNSNAMES.ORA. Если сервер локальный, то SERVER NAME=@2:  
NET PROTOCOL TNS - если используется SQL*Net версии 2.0 или выше, или имя сетевого протокола для доступа к серверу, если используется более ранняя версия SQL*Net.  
ENABLE SCHEMA CASHE Разрешается ли кэширование на рабочей станции структуры таблиц, содержащихся на сервере. FALSE
SCHEMA CASHE DIR Каталог для кэширования структуры таблиц. 1.0
ENABLE BCD Разрешен ли перевод числовых и денежных величин в формат BCD (binary coded decimals) во избежание ошибок округления. FALSE
ENABLE INTEGERS Разрешено ли преобразование числовых величин с фиксированной запятой в целый формат. FALSE
LIST SYNONYMS Разрешены ли синонимы (альтернативные имена таблиц и представлений) в структурах таблиц: NONE - нет, PRIVATE - разрешены личные синонимы, ALL - разрешены личные и общие синонимы. NONE

Проблемы установки соединения с Oracle из приложений Borland связаны главным образом с правильной настройкой сетевого программного обеспечения Oracle SQL*Net. Последние версии серверов Oracle (7.2, 7.3) содержат в своем составе SQL*Net версии 2.0 или выше. Для конфигурации SQL*Net 2.0 и выше следует настроить псевдонимы баз данных Oracle с помощью утилиты SQL*Net Easy Configuration, описав сетевое имя или адрес сервера, имя базы данных и тип сетевого протокола. После этого рекомендуется проверить наличие соединения с сервером с помощью утилиты Oracle SQL Plus. Только после проверки соединения можно конфигурировать псевдоним BDE.

При конфигурации псевдонима BDE в качестве сетевого протокола можно указать TNS (Transparent Network Substrate - высокоуровневая надстройка Oracle над сетевыми протоколами). В качестве имени сервера следует указать имя псевдонима базы данных Oracle, указав перед этим именем символ '@' (об этом в документации не сказано). Для локального сервера (или в случае, когда клиентское приложение функционирует на одном компьютере с сервером баз данных, например, Oracle Workgroup Server for Windows NT) в качестве имени сервера можно использовать строку '@2:' .

Для корректного отображения русских букв и установки правильного порядка алфавитной сортировки можно использовать драйверы dBase RUS CP866 или Paradox ANSI Cyrillic в зависимости от того, какая кодировка - DOS или Windows - будет использоваться. Однако корректная работа с русским языком будет обеспечена только в том случае, если удачно подобрано сочетание трех параметров языковой настройки: языковой настройки сервера (она указывается при его установке), языковой настройки клиентской части (значение HKEY_LOCAL_MACHINE//SOFTWARE)//ORACLE//NLS_LANG реестра Windows 95) и собственно языкового драйвера BDE. Подробности языковой настройки клиентской части и сервера можно найти в документации к серверу Oracle.



php"; ?>