IDAPI это Integrated Database Application Program Interface. BDE (Borland Database Engine) — средство доступа ко множеству источников данных через один API. IDAPI - это просто API для BDE. IDAPI включает все функции, необходимые для доступа к данным, манипулирования ими и т.д. Delphi, Borland C++, C++Builder, Intrabulder, dBASE for Windows, и Paradox for Windows используют эти функции. Вы можете использовать их в своих программах. Вы получите документацию, если купите BDE. Там перечислены все доступные функции и что они делают. Если посмотреть на исходники VCL в Delphi, то можно увидеть, как они используются. Они начинаются с "Dbi" (e.g.
SQL Links — набор родных драйверов (native drivers), которые нужны для работы с удаленными серверами баз данных.
2. Hеобходим ли IDAPI для доступа к данным в Delphi? Можно ли включить IDAPI внутрь EXE, чтобы распространять программу без установки IDAPI на пользовательском компьютере?
IDAPI необходим для доступа к данным в Delphi. Сам IDAPI во внутрь исполняемого файла ни коим образом не встраивается (да это было бы и не целесообразно). Вместе с Delphi поставляется редистрибутивный вариант BDE, которая устанавливает на "чистую" машину лишь только BDE. может создавать инсталляторы, которые устанавливают на машину как ваше приложение, так и BDE.
InstallShield Express for Delphi
Delphi 3.0 включает средства для создания "тонких" клиентов, работающих на машине, на которой не установлен BDE. Подробности смотрите в FAQ по Delphi 3.0.
3. Где можно найти описание функций и типов данных BDE?
DBIPROCS.INT в директории DELPHI\DOC\ содержит список функций BDE, передаваемые параметры, возвращаемое значение и краткое описание каждой. DBITYPES.INT — список типов, используемых функциями BDE. Для вызова любой функции BDE добавьте следующие модули в раздел uses: DBITYPES, DBIPROCS и DBIERRS.
Delphi 2.0 включает в себе описание функций BDE в формате WinHelp. Также все три модуля из Delphi 1.0 (DBITYPES.DCU, DBIPROCS.DCU и DBIERRS.DCU) теперь объединены в единый BDE.DCU.
4. Можно ли программным образом добавить псевдоним (alias) в IDAPI.CFG?
В BDE есть для этого функция
В Delphi 2.0 данная функциональность находится внутри компонента
5. Я получаю сообщение от BDE при редактировании записи 'Multiple records found but only one expected'. Что бы это значило?
Вам может потребоваться создать уникальный индекс в таблице для того, чтобы каждую строку в таблице можно было однозначно идентифицировать. Например, попытайтесь изменить структуру таблицы и добавить поле для заполнения его уникальными значениями.
6. Обработка исключений (exceptions) BDE.
Информация об ошибке BDE может быть получена для использования в приложении из объекта
7. Какому стандарту SQL соответствует SQL в InterBase?
SQL в Local & Remote InterBase соответствует SQL-92 с элементам SQL III (более поздними расширениями).
8. Как удалить генераторы (GENERATORS) из базы данных InterBase?
Никак. К сожалению, в существующих версиях InterBase это невозможно.
9. Как выбрать протокол при соединении с InterBase из Delphi?
В Server Manager (ibmgr.exe), Windows interactive SQL (wisql.exe) и Communication Diagnostic Tool (comdiag.exe) Вы отдельно задаете имя сервера, протокол и 'путь на базу' (локальный путь на сервере, а не путь до базы с Вашей машины)
А в BDE Configuration Utility все немного не так — на странице Drivers у драйвера Interbase есть параметр SERVER NAME, заполненный как IB_SERVER:/PATH/DATABASE.GDB, а у любого InterBase Alias есть параметры SERVER NAME и PATH, но ни у драйвера ни у алиаса нет протокола. Для Interbase протокол указывается стилем написания пути к базе: