Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Ошибки в FireDAC SQLite после перекомпиляции Delphi 10.4: связка и функциональные изменения

Delphi , Базы данных , SQL

Введение

В статье рассматривается проблема, с которой разработчики могут столкнуться при перекомпиляции проектов на Delphi 10.4 Sydney, связанная с использованием FireDAC SQLite. Особое внимание уделяется изменениям в связывании библиотек и функциональных особенностях, которые могут привести к возникновению исключений при работе с базами данных SQLite.

Проблема

Разработчики, использующие в своих проектах на Delphi встроенную библиотеку SQLite через компоненты FireDAC, могут столкнуться с ошибками после перекомпиляции проекта в среде Delphi 10.4. Ошибка проявляется в виде исключения EFDException с кодом -314, указывающего на невозможность загрузки библиотеки sqlite3.dll или libdb_sql51.dll. Ошибка связана с тем, что указанные модули не могут быть найдены в пути или директориях, где запущенное приложение или его EXE-файл, а также могут быть проблемы с битностью x86.

Причины и изменения

В документации RAD Studio 10.4 указано, что для SQLite в FireDAC теперь доступно два варианта связывания: статическое и динамическое. Для использования статического связывания необходимо добавить в список используемых единиц (uses clause) проекта единицу FireDAC.Phys.SQLiteWrapper.Stat. Если этого не сделать, будет выбрано динамическое связывание. Также введено новое свойство TFDPhysSQLiteDriverLink.EngineLinkage, которое позволяет настроить тип связывания.

Решение проблемы

Для корректной работы с SQLite после обновления до Delphi 10.4 необходимо убедиться, что в проекте правильно настроено связывание SQLite-движка. В зависимости от выбранного типа связывания (статического или динамического) необходимо добавить соответствующую единицу в список используемых. Если используется статическое связывание, то в документации упоминается необходимость изменения файла FireDAC.inc, однако в текущей версии исходных файлов Embarcadero данный файл отсутствует.

Пример кода на Object Pascal (Delphi)

// Добавление единицы для статического связывания SQLite
uses
  FireDAC.Phys.SQLiteWrapper.Stat;

Рекомендации

  • Проверьте, что в проекте указаны все необходимые единицы для связывания SQLite.
  • Убедитесь, что путь к библиотекам sqlite3.dll или соответствующим динамическим библиотекам доступен и совместим с битностью приложения.
  • Перед запуском проекта на целевом компьютере протестируйте его, убедившись в отсутствии подобных ошибок.

Заключение

При перекомпиляции проектов на Delphi 10.4 важно учитывать изменения в связывании библиотек FireDAC SQLite. Следуя инструкциям и рекомендациям, разработчики смогут избежать ошибок, связанных с загрузкой библиотек, и обеспечить корректную работу своих приложений с базами данных SQLite.

Создано по материалам из источника по ссылке.

Разработчики Delphi сталкиваются с проблемами в работе с FireDAC SQLite после перекомпиляции в среде Delphi 10.4, связанными с изменениями в связывании библиотек и функциональности, что может привести к ошибкам при обращении к базам данных SQLi


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: SQL ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-02-05 13:36:01/0.0055561065673828/1