Delphi SQLite Wrapper с поддержкой статического связывания и шифрования

Мне нужна оболочка для SQLite, которая поддерживает статическое связывание и имеет хотя бы некоторую базовую поддержку шифрования (также желательно бесплатную)

Подводя итог, что я нашел до сих пор

ZeosLib - поддерживает шифрование. Не поддерживает статические ссылки.

AduCom - Сайт в основном не работает

AnyDAC - Не можете найти ссылку на цену или покупку для AnyDAC, так как он был куплен Embarcadero и обращен к FireDAC?

LiteDAC - обеспечивает статическое связывание. Standard Edition (~$130) не обеспечивает шифрование. Профессиональная версия (~ 200 долларов)

DISQLite3 - поддерживает статическое связывание и шифрование. Бесплатно для личного использования (с ограниченными функциями). Профессиональный (~150 евро)

Synopse mORMot - поддерживает статическое связывание. Не уверен насчет шифрования. Но я не могу разобраться в этом. ORM, SOA, UI, PDF, SQLite объединены в одну огромную структуру. Теперь я понятия не имею, как использовать только часть SQLite со статическим связыванием. Кажется, есть какое-то объяснение вокруг этого https://stackru.com/a/4971398/605027 но я не уверен, применимо ли оно до сих пор.

Лучшая оболочка, которую я нашел, - это SQLite3-Delphi-FPC. Очень минималистичный и простой в использовании. В идеале я хотел бы продолжить использовать ту же оболочку со статическими возможностями связывания Synopse и некоторого базового шифрования. Любые указатели на то, как этого можно достичь?

PS Я не хочу встраивать sqlite3.dll в ресурсы и загружать его динамически во время выполнения.

NB: Есть много вопросов и, следовательно, много путаницы вокруг этой темы. Поэтому я почувствовал необходимость опубликовать новый вопрос

3 ответа

Я использую Synopse mORMot со всеми моими последними проектами. Это бесплатно и с открытым исходным кодом, имеет хорошую поддержку автора на форуме. Поддерживает статическое связывание SQLite DLL и шифрование AES. Кроме того, вы можете использовать его на сервере / клиентском приложении по протоколу HTTP. Да, фреймворк очень большой и имеет много функций, но вам не нужно использовать их все. Я использую только небольшую часть в моих приложениях без каких-либо проблем. Может быть, это немного сложно начать (я не эксперт Delphi), но после этого ваши возможности безграничны.

Больше нет необходимости использовать сторонние оболочки для SQLite.

В Delphi XE3 Embarcadero добавил прямую поддержку SQLite с использованием каркасов dbExpress и FireDAC. Затем в Delphi XE5 они улучшили это и добавили всестороннюю поддержку SQLite через библиотеку FireDAC, которая включает даже "умное" распознавание типов данных.

FireDAC - теперь рекомендуемая библиотека доступа к базе данных для Delphi, заменяющая dbExpress и другие.

В последнем разделе статьи на Embarcadero docwiki: Использование SQLite с FireDAC показано, как использовать классы обёртывания API SQLite FireDAC, которые используются драйвером FireDAC SQLite, если вам нужно получить максимальную производительность доступа к данным SQLite.

Однажды я написал простую оболочку sqlite3.dll, потому что не нашел того, что мне нужно в существующих решениях: TSQLite.

Я прочитал здесь, что вы можете скомпилировать выделенный sqlite3.dll с шифрованием, и / или (?) Необходимо использовать sqlite3_activate_see а также sqlite3_key_v2 но я не написал их в моей оболочке (вероятно, потому что это заставило мою оболочку завершиться с ошибкой по умолчанию sqlite3.dll). Если это то, что вам нужно, перевод с sqlite3.h не так сложен, и текущий SQLite.pas содержит множество примеров.

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