具有静态链接和加密支持的Delphi SQLite Wrapper

时间:2014-04-20 21:37:07

标签: delphi encryption sqlite delphi-xe2 anydac

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

总结到目前为止我发现的内容

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

AduCom - 网站主要关闭

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

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

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

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

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

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

N.B。有很多问题,因此对此主题有很多疑惑。所以我觉得有必要发布一个新问题

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

可能不再需要为SQLite使用第三方包装器了。

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

FireDAC现在是the recommended Database Access Library for Delphi,取代了dbExpress和其他人。

Embarcadero docwiki文章的最后一部分:Using SQLite with FireDAC表示如果需要获得最大的SQLite数据访问性能,如何使用FireDAC SQLite API包装类,FireDAC SQLite驱动程序使用它。

答案 2 :(得分:0)

我编写了一个简单易用的sqlite3.dll包装器,因为我还没有在现有解决方案中找到所需的内容:TSQLite

我读了here你可以用加密编译一个专用的sqlite3.dll,和/或(?)需要使用sqlite3_activate_seesqlite3_key_v2但我还没有写我的包装器中的那些(可能是因为这使我的包装器在默认的sqlite3.dll上失败)。如果这是你需要从sqlite3.h翻译并不是那么难,当前的SQLite.pas有很多例子。