Jump to content
Der schöne Günther

How do I update the sqlite dll in RAD Studio?

Recommended Posts

I am running "Delphi 11 and C++ Builder 11 Update 1" which is, I believe, the most current version.

However, the integrated Sqlite library the IDE makes use of (FireDAC), is considerably older. I'd like to update it, as the query editor doesn't even understand some of our queries anymore.

 

Double-clicking on a TFDConnection, then navigating to Info reveals the following:

================================
Client info
================================
Loading driver sQLite ...
DLL = <sqlite3_x86.obj statically linked>
Client version = 3.31.1

I found a sqlite3.dll in C:\Program Files (x86)\Embarcadero\Studio\22.0\bin and replaced it with the most current version, downloaded from the SQLite Download Page. However, that changed nothing.

 

I have no idea how to proceed. I find dozens of guides how to manage the dll your own application will pick at runtime. But I am looking for the IDE, bds.exe. How to update sqlite?

Share this post


Link to post

The Client info mentions 

<sqlite3_x86.obj statically linked>

That means the SQLite engine is part of the exe or bpl. You cannot change that for the IDE.

Edited by Uwe Raabe
  • Thanks 1

Share this post


Link to post

Thank you for the swift reply, that's what I feared.

 

I have no clue why they did it that way. Every freeware tool I know has the sqlite.dll in a separate library, so that it can be updated later, even when the tool itself is no longer supported.

Share this post


Link to post

Wow, 3.31.1 was released in January of 2020. There's no reason that the SQLite version shouldn't be replaced with the current one for each Delphi update. It's not like the IDE is a single file where static linking might make sense either.

 

The good news is that if I'm reading this correctly if you change your TFDPhysSQLiteDriverLink.EngineLinkage property you can use dynamic linking and then use a more recent SQLite DLL....

 

https://docwiki.embarcadero.com/RADStudio/Sydney/en/Connect_to_SQLite_database_(FireDAC)

 

Lots of awesome changes since 3.31.1, such as DROP COLUMN, RIGHT and FULL JOIN, UPSERT, a STRICT option that finally makes static typing an option, the JSON support is now built in, etc. SQLite now has a lot of features missing from Interbase. 🙂

Share this post


Link to post

Yes, fancy things like these were exactly why I updated 😊 🎉

 

It already works fine in my application by setting the driver link settings to "dynamic" (as you mentioned).

 

I just wish the IDE would also be capable of that. Instead of being tied to an outdated version of sqlite that is baked into it.

There really is no reason to do that, it's a very strange design decision.

Edited by Der schöne Günther
  • Sad 1

Share this post


Link to post
1 hour ago, Der schöne Günther said:

I just wish the IDE would also be capable of that. 

You know that there is a place for such wishes?

Share this post


Link to post

I would have considered going to quality.embarcadero.com - But it's been down again since yesterday 😉

 

Edited by Der schöne Günther
  • Sad 1

Share this post


Link to post
1 hour ago, Der schöne Günther said:

I would have considered going to quality.embarcadero.com - But it's been down again since yesterday 😉

 

It is back online...FYI

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

×