Как я могу использовать встроенный Firebird в моем приложении Delphi

В моем приложении Delphi XE3 использовались компоненты Interbase для подключения к Firebird 2.5 SuperServer.

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

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

и я хочу развернуть его для использования встроенного Firebird, мой вопрос:

  1. я могу использовать компоненты Interbase для подключения к встроенному Firebird?
  2. если да, то как я могу это сделать?
  3. если нет, то есть ли бесплатные компоненты Firebird?

2 ответа

Решение

я могу использовать компоненты Interbase для подключения к встроенному Firebird?

По умолчанию вы можете использовать компоненты Interbase для использования Firebird.

если да, то как я могу это сделать?

Вы должны изменить имя клиентской библиотеки Firebird, в общем слове.

  • В dbExpress и Firebird server edition => используйте fbClient.dll и dbxFb.dll в клиентской части программы.

  • В dbExpress и Firebird встроенная редакция => изменить имя
    fbEmbed.dll в fbClient.dll и использовать dbxFb.dll на стороне клиента
    программа (fbClient.dll и dbxFb.dll).

  • С IbExpress и Firebird Server Edition => изменить имя
    fbClient.dll в gds32.dll.

Кроме того, Дэниел Мэджин написал статью о Firebird и dbExpress. http://www.embarcadero.com/rad-in-action/database

если нет, то есть ли бесплатные компоненты Firebird?

Вы можете использовать ZEOS.

ОБНОВЛЕНИЕ в Firebird 3:

Когда не содержит сетевой протокол, а только имя базы данных, удаленный поставщик отклоняет его, и поставщик Engine12 выходит на передний план и пытается открыть именованный файл базы данных. Если это удается, мы получаем встроенное соединение с базой данных.

Хотя Interbase и Firebird, по сути, почти совместимы с API, я помню, что некоторые сообщали о проблемах при использовании компонентов IB (которые поставляются с Delphi) при подключении к Firebird. Эти компоненты официально предназначены только для Interbase, и поэтому вы можете быть уверены, что со временем ситуация будет ухудшаться (более несовместимо), а не улучшаться. Поэтому я бы рекомендовал использовать компоненты, которые официально поддерживают Firebird. Я лично использую UIB, который является бесплатным, но есть и другие (как бесплатные, так и коммерческие).

Другие вопросы по тегам