Jump to content
Darian Miller

SQLite - FireDAC or ?

Recommended Posts

Depends on what edition you have. 

If you have Pro, the main advantage with LiteDAC is that you can then use other providers as well to connect to a remote datababse. 

Share this post


Link to post

An alternative is mORMot, its core is based on SQLITE3, you don't even need the external sqlite3.dll - you statically link the .obj file into your executable.

 

note: you can use the sqlite db functions alone, without using its excellent ORM layer or the http/rest server modules. But I suggest take advantage of it's ORM for CURD - it'll save a lot of your time!

 

https://synopse.info/files/html/Synopse mORMot Framework SAD 1.18.html#TITLE_142

  • Like 1

Share this post


Link to post

PS, I've never used any db components from DevArt, but I own another product of them, and I believe they provide good quality products.

 

I also own a license of DiSqlite3, it's very fast and full-featured, I must say. And the support from Ralf the developer is great - he usually don't say anything unrelated, but just gives you detailed answers and suggestions of the technical issue you have.

 

But don't forget as a free, open source project, the support of mORMot is also responsive and quick to fix issues - don't just listen to me, look at their forums :)

Share this post


Link to post
2 hours ago, edwinyzh said:

PS, I've never used any db components from DevArt, but I own another product of them, and I believe they provide good quality products.

Yes Devart db components are reliable and stable. I use UniDac since years and it works with no problems with Firebird, MS SQL, Postgresql and Oracle.

 

Christian

Share this post


Link to post

IMHO the foremost reason for not using FireDAC is no sources (Pro). Had i had the sources (Enterprise?) i would start using FireDAC.

Share this post


Link to post

Note that the SQlite3 version embedded with FireDAC tends to be updated at a slow pace, and stick to the Delphi release.
It is currently 3.23.1 in Delphi 10.3, whereas the current is 3.28.

 

With an OpenSource or third-party solution, you may be able to update SQlite3 without upgrading the compiler.

I have seen requests to upgrade SQlite3 for regulatory or security reasons.

3.23.1 is known to be vulnerable, as reported e.g. by https://www.cvedetails.com/vulnerability-list/vendor_id-9237/Sqlite.html and https://www.zdnet.com/article/sqlite-bug-impacts-thousands-of-apps-including-all-chromium-based-browsers/

 

  • Like 1

Share this post


Link to post
1 hour ago, Arnaud Bouchez said:

It is currently 3.23.1 in Delphi 10.3, whereas the current is 3.28.

 

That hit the nail on the head.  I was missing that major issue.   In addition, the last update to LiteDAC was November.

 

A possible solution would be to dynamically link and keep that DLL up to date from the official source but I'd rather have statically linked. 

For future reference: 

http://docwiki.embarcadero.com/RADStudio/Rio/en/Connect_to_SQLite_database_(FireDAC)

https://stackoverflow.com/questions/34486325/how-to-remove-static-linking-from-firedac-sqlite

https://stackoverflow.com/questions/23187853/delphi-sqlite-wrapper-with-static-linking-and-encryption-support/23193690

http://blog.synopse.info/post/2018/03/12/New-AES-based-SQLite3-encryption

https://synopse.info/forum/viewtopic.php?pid=26794#p26794

 

In their Rio doc link above, they are using 3.9.2.  I don't have 10.3 installed currently so I cannot confirm.

 

 

It's been a number of years since I tried mORMot... time to dig into it again!

 

Thanks

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×