0

my OS is windows10, delphi is 10.3.1, sqlite version is 3.23.1 which does not support "ON CONFLICT(id) DO UPDATE" during insert.

I've downloaded sqlite3.dll version 3.30.1 and copied it to

C:\Program Files (x86)\Embarcadero\Studio\20.0\bin

folder overwriting the existing old one.

But still sqlite_version() function returns version 3.23.1. What else should be done delphi application to use the new version of sqlite3?

Avrob
  • 533
  • 2
  • 10
  • 20
  • If I'm not mistaken, replacing it in that location is for Delphi itself. For your project, you should have the DLL alongside your EXE. Also, replacing that one in particular may cause unforeseen issues. I sure hope you backed up the original before overwriting it... Otherwise, you might need to reinstall Delphi... – Jerry Dodge Nov 21 '19 at 21:02
  • Download a copy of the SwiftSearch.Exe utility and gt it to find all the instances of Sqlite3.Dll. You might be surpised how many there are. – MartynA Nov 21 '19 at 21:08
  • Sure I've backuped the old one. I've copied .dll also to my project folder. No difference. – Avrob Nov 21 '19 at 21:08
  • I've searched in file explorer for sqlite3.dll. There were only 9 on drive C. – Avrob Nov 21 '19 at 21:10
  • But is there a way to upgrade sqlite version for delphi 10.3.1 ??? – Avrob Nov 21 '19 at 21:11
  • I don't know the answer, but think of it this way - *your* application will need to find this DLL, no matter where it's running from. Imagine distributing it to a client's machine. They won't have Delphi, so clearly the DLL with Delphi isn't the one you need to update. – Jerry Dodge Nov 21 '19 at 21:13
  • The root problem is related to FireDAC (has nothing to do with IDE as incorrectly diagnosed in the question) where the rules for using newer version of SQLite are well described. See the linked duplicate thread. – TLama Nov 22 '19 at 05:12

0 Answers0