[DllNotFoundException: Unable to load DLL (sqlite3).]
Finisar.SQLite.sqlite3.sqlite3_open(IntPtr filename, IntPtr& db) +0
Finisar.SQLite.sqlite3.open(String filename) +113
Im getting an invalid access to memory location (Exception from HRESULT: 0x800703E6).
I tried running ntfilemon and ntregmon and neither of these tools are showing any type of error trying to find sqlite3.dll. In addition none of its dependencies are missing.
Any help is much appredicated, I need to solve this problem ASAP. Thanks!
BTW Yes the dll is in the same directory with sqlite.net.dll. My application was working fine for months then suddenly this error came up.
These kind of things don't just suddenly break. What did you change? New version of SQLite.dll? It's possible that the version of SQLite.dll that you are using is broken or corrupt, try re-downloading it from the sqlite.org website.
Well windows patches and the .net 2.0 framework (still running my app on 1.1 framework)...but other than that, nothing. Im running on windows2003 server. Basically i have determined that my application can find and load sqlite3.dll but it errors out when the open() method is called. Ideas? I tried on two windows 2003 servers and the same problem. However, on windows xp localhost it works fine...
At this stage, I'm inclined to wonder whether it may be a permission issue or other restriction on Win2003 server. I haven't tried it on that platform, but it could easily be the case.
Its weird too becuase i can get some older versions of the sqlite3.dll to work fine, specifically the one bundled with sqlite.net.dll, but alas i built my database using autoincrement stuff which that version doesn't support. Is there anything else i might test or try?
I just saw this... http://www.sqlite.org/cvstrac/wiki?p=VsNetSolution
But there is no attatchment like the note specifies.
Recompiling the dll manually worked! For some reason the precompiled dll doesnt work with windows 2003 (sp1)!
I also had a problem with this. The reason that I found was that in my project I was using two libraries that required interop. What was happening was that the first library to load was big and took up the base memory address that the SQLite3 dll wanted to be in. I had to manually load the SQLite3.dll first, then the second dll. That made things work.
Log in to post a comment.