2

我需要一个 SQLite 的包装器,它支持静态链接并且至少有一些基本的加密支持(也最好是免费的)

总结一下我到目前为止的发现

ZeosLib - 支持加密。不支持静态链接。

AduCom - 网站大部分都关闭了

AnyDAC - 找不到 AnyDAC 的任何定价或购买链接,因为它已被 Embarcadero 购买并转向 FireDAC?

LiteDAC - 提供静态链接。标准版(约 130 美元)不提供加密。专业版(~$200)

DISQLite3 - 支持静态链接和加密。免费供个人使用(功能有限)。专业(~150 欧元)

概要 mORMot - 支持静态链接。不确定加密。但我无法理解这个框架。ORM、SOA、UI、PDF、SQLite 组合成一个庞大的框架。现在我不知道如何只使用带有静态链接的 SQLite 部分。似乎有一些解释https://stackoverflow.com/a/4971398/605027但我不确定它是否仍然适用。

到目前为止,我发现的最好的包装器是SQLite3-Delphi-FPC。非常简约且易于使用。理想情况下,我想继续使用具有 Synopse 的静态链接功能和某种基本加密的相同包装器。关于如何实现这一点的任何指示?

PS我不想在资源中嵌入 sqlite3.dll 并在执行期间动态加载它。

注意有很多问题,因此关于这个话题有很多混乱。所以我觉得有必要发布一个新问题

4

3 回答 3

2

可能不再需要为 SQLite 使用 3rd 方包装器。

在 Delphi XE3 中,Embarcadero 使用 dbExpress 和 FireDAC 框架添加了对 SQLite 的直接支持。然后在 Delphi XE5 中,他们增强了这一点,并通过 FireDAC 库添加了对 SQLite 的全面支持,其中甚至包括“智能”数据类型识别。

FireDAC 现在是 Delphi 推荐的数据库访问库,取代了 dbExpress 等。

Embarcadero docwiki 文章的最后一部分:将 SQLite 与 FireDAC一起使用说明了如果您需要获得最大的 SQLite 数据访问性能,如何使用 FireDAC SQLite 驱动程序使用的 FireDAC SQLite API 包装类。

于 2014-04-22T21:33:51.620 回答
2

我在所有最新项目中都使用 Synopse mORMot。它是免费开源的,得到了​​论坛作者的大力支持。支持 SQLite DLL 的静态链接和 AES 加密。此外,您可以通过 HTTP 协议在服务器/客户端应用程序上使用它。是的,框架很大,有很多功能,但你不需要全部使用。我在我的应用程序中只使用了一小部分,没有任何问题。也许一开始有点复杂(我不是德尔福专家),但在此之后你的可能性是无限的。

于 2014-04-21T12:40:45.220 回答
0

我曾经写过一个简单的 sqlite3.dll 包装器,因为我也没有在现有解决方案中找到我需要的东西:TSQLite

我在这里读到你可以编译一个带有加密的专用 sqlite3.dll,和/或(?)需要使用sqlite3_activate_seesqlite3_key_v2但我没有在我的包装器中写这些(可能是因为这使我的包装器在默认的 sqlite3.dll 上失败) . 如果这是您需要的,从 sqlite3.h 翻译并不难,并且当前的 SQLite.pas 有大量示例。

于 2014-04-21T08:26:34.027 回答