sqlite3.net Vs .NetFramewok 2.0

  • Jerry

    Jerry - 2005-01-25


    I had downloaded following files for sqlite.net

    SQLite.NET.0.20_sources.zip 968073  1126  Platform-Independent Source .zip

    and I was trying to add reference of the following dll's to my project
    sqlite.net.dll and sqlite.dll.

    I  was able to add reference to the sqlite.net dll, but unable to
    do so with sqlite3.dll.It says "unable to load reference sqlite3.dll"

    I am using visual studio beta release and so is this a compatibility
    problem with sqlite.net version and the .Net Framework 2.0???

    If anybody has experienced this kind of proble.Please let me know.

    Thanks in advance

    • Robert Simpson

      Robert Simpson - 2005-02-04

      I just started working with SQLite a few days ago, and this .NET provider only for a couple days.

      However, I've managed to retool the entire library to use .NET 2.0's structure (inheriting from the base classes rather than the interfaces, redesigning, etc).

      I'm still doing very preliminary tests to see if everything I did actually works.

      So far, things look promising.  I completely gutted the SQLiteCommandBuilder code in favor of DbCommandBuilder's intrinsic ability to parse SQL.  The new SQLiteCommandBuilder is only 111 lines of code (including the comments!)

      I'm using the December 2004 CTP version of VS 2005 by the way.

      Robert Simpson
      Programmer at Large

    • Robert Foster

      Robert Foster - 2005-02-06

      I'd be very interested in seeing this... Do you want to post a link to this thread?

    • Robert Simpson

      Robert Simpson - 2005-02-07

      Well, ok but it's not massaged at all.


      Couple caveats and things:

      1.  The ADO.NET 2.0 documentation is pretty much non-existant, so I've no idea what some of the implementation of some of the abstract functions are supposed to be.  I made it up as I went.

      2.  With the idea of implementing your own custom providers, I renamed the namespace from Finistar to System.Data.SQLite -- again, not sure how the heck the actual ADO.NET 2.0 provider thingie is going to work in the end.

      3.  There are a few questionable places in the code where the DbXXX object implements IDispose but its not clear where/when/if your object gets notified of this... in those cases (especially SQLiteCommand/DbCommand) I just flubbed it and override the Dispose method using new Dispose() etc.

      4.  Ignore my website, it's way overdue for a rewrite and its WAY WAY down on my priority list.

      5.  I've started toying with the idea of completely rewriting a new ADO.NET 2.0 wrapper for SQLite3 using managed C++.  This way I can embed the sqlite3 library statically inside the DLL and have one less DLL to distribute.  Plus, it'll make the guts more readable without having to resort to using IntPtr's and so forth.


      • Alexander Gavrilov

        Just to let you know that this project was written in Managed C++ originally and had SQLite embedded into it. But we decided to rewrite it in C# due to following reasons:

        - Support of new versions of SQLite without recompilation
        - (main reason) Support of Compact Framework.

        Unfortunately, Managed C++ doesn't support Compact Framework.  At least, CF is not supported in VS.NET 2003. I don't know about VS.NET 2005 though.


Log in to post a comment.