Page 1 of 1

Cannot load client librarry:sqlite3.dll

Posted: Fri 27 Jan 2012 22:06
by mehmedali
Hello

I am using Sqlite driver in Delphi XE2 for Firemonkey. Everything is ok for Win32 and OSX, but not with Win64. My development environment is Vista 64 bit. The Devart driver installation copied all dlls to both System32 and SysWov64. I even copied the 64 bit dbexpsqlite40.dll to exe path. However when I run the 64 bit application it gives the error: Cannot load client librarry:sqlite3.dll.

First question: How can I run 64 bit applications on my machine.
Second Question: What should I deploy to my customers to be able to connect sqlite database with devart drivers.

M Ali Caliskan

Posted: Mon 30 Jan 2012 08:52
by AlexP
Hello,

If you are developing a 64-bit application, all used libraries must be 64-bit too. Both versions (32/64 bit) of the library are supplied together with our drivers. The libraries are situated in the ...Devart\Dbx\SQLite\Bin\Win32 and ...Devart\Dbx\SQLite\Bin\Win64 folders. Furthermore, you also need the 64-bit SQLite library. SQLite developers don't provide the 64-bit version of this library, so, yoг have to build it by yourself using sources, or find some off-site builds of this library. Moreover, you need the 64-bit midas.dll library, which is distributed together with RadStudio XE2.

All this libraries must be located either in the folder with your application or in the Windows\System32 folder.

Posted: Mon 30 Jan 2012 18:29
by mehmedali
AlexP wrote: Furthermore, you also need the 64-bit SQLite library. SQLite developers don't provide the 64-bit version of this library, so, yoг have to build it by yourself using sources, or find some off-site builds of this library.
Hello Alex

Thanks for your answer. I couldnt find a 64-Bit SqLite dll and I dont have the compiler to compile it. I hope you alreadh have got it. If it doesnt vilote the license, can you send it to me?

Posted: Tue 31 Jan 2012 10:07
by AlexP
Hello,

I have sent you a letter with the 64-bit SQLite3dll library attached.

problem in looading sqlite3.dll on 64bit windows

Posted: Fri 10 Feb 2012 10:48
by christoph.moar
Hi,
me too has the same problem as above. The difference is:

- working on win7 64bit
- c++builder rad studio XE 32 bit running in dev mode
- application target is 32 bit only (firemonkey, c++)

Well, I tried all kinds of things, even downloading the 64bit .NET package from sqlite, but no goal in doing that.

Finally, I did one last desperate try and copied the "sqlite3.dll" (32bit) into c:\windows\syswow64 also.

Not it works, the error is not showed up again.

BUT:
I am not quite happy/secure with this. Did I mess up something by copying a 32bit dll into the 64bit directory? Would you send me the 64bit dll instead? I can't find it anywhere, did an hour of googling or so ;)

Thanks,
regards

Posted: Mon 13 Feb 2012 16:48
by AlexP
Hello,

The 64-bit Windows stores all the 64-bit libraries in the ..\Windows\System32\ folder and 32-bit ones in the ..\Windows\syswow64 folder, thats why your application looks for the 32-bit library in this folder. You must place your 32-bit libraries to this folder.

Posted: Mon 13 Feb 2012 16:54
by christoph.moar
aaahrgh.
thanks. that's logical, you're right.
when you look at it...

system32=64bit DLLs,
syswow64=32bit DLLs

can't help but smile about whoever thought about that thing, but hey - you're right and I was confused ;)

regards

Posted: Thu 16 Feb 2012 09:10
by AlexP
Hello,

You can find more details about these directories and their destination in MSDN http://msdn.microsoft.com/en-us/library ... S.85).aspx