Вопрос

Я скачал драйвер Firebird DBX с http://sites.google.com/site/dbxfirebird/ и я смог скомпилировать проект "Тестовое подключение" и запустить его.Я указал на это в своей тестовой базе данных следующим образом:

procedure TMainForm.Button1Click(Sender: TObject);
var C: TSQLConnection;
begin
  C := TSQLConnection.Create(Self);
  try
    C.DriverName := 'FirebirdConnection';
    C.Params.Add('User_Name=SYSDBA');
    C.Params.Add('Password=masterkey');
    C.Params.Add('Database=C:\fbtest\test.fdb');
    C.Open;
    if C.Connected then
      ShowMessage('Connection is active')
  finally
    C.Free;
  end;
end;

Когда я запускаю его, он работает нормально.Но когда я помещаю точно такой же код в другой проект, это не работает.Я скопировал fbclient.dll (Firebird embedded driver DLL, переименованный в fbclient), все его зависимости и файл dbxdrivers.ini в ту же папку, в которой запущен EXE-файл проекта.Я не вижу никаких причин, по которым это не должно сработать, но призыв к .Открыть не удается с помощью:

Проект Project1.exe вызвал исключение класс TDBXError с сообщением "Неизвестный драйвер:Связь с жар-птицей".

Опять же, это относится к вызову на открытие.Присвоение имени драйвера работает просто отлично.Кто-нибудь сталкивался с этой проблемой раньше?Почему в тестовом проекте работает точно такой же код, но не другой, и есть ли какой-нибудь способ это исправить?

Это было полезно?

Решение

Я нашел проблему.Класс загрузки для настройки драйвера базы данных должен был быть зарегистрирован в инициализация раздел DBXDynalink.pas.Тестовый проект включал DBXDynalink в свой использование пункт, в котором моего не было.Я вставил это, и теперь это работает.

Другие советы

Эта ошибка обычно возникает, когда вы не добавляете соответствующий модуль драйвера DBX в свой список использования.Попробуйте добавить DBXFirebird в свой список использований.

Просто измените C.Имя драйвера:= 'FirebirdConnection';кому C.Имя драйвера:= 'Firebird';

и будет работать!

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top