[Mono-dev] Which SQLite?

Edward Ned Harvey (mono) edward.harvey.mono at clevertrove.com
Thu Jul 17 12:33:47 UTC 2014

> From: Alex J Lennon [mailto:ajlennon at dynamicdevices.co.uk]
> Sent: Wednesday, July 16, 2014 5:15 AM
> To: Edward Ned Harvey (mono); mono-devel-list at lists.ximian.com
> fwiw - I am currently using System.Data.SQLite, deploying onto both
> .NET/Windows and Mono/Yocto Embedded Linux
> However I have had to rebuild System.Data.SQLite from source for Mono
> use.
> ref:
> http://system.data.sqlite.org/index.html/doc/trunk/www/build.wiki#mono

Thanks, here is where I'm at right now:

Mono.Data.Sqlite is reliably available on mac/linux.  And I had the brilliant idea that I would install mono on windows, and then grab the Mono.Data.Sqlite.dll from the mono installation, and distribute it.  However, there's this:

The latest windows release is mono 3.2.3, which unfortunately includes a bug that kills Mono.Data.Sqlite, that was fixed in 3.2.6 or 3.2.7.

So if a new windows build is released anytime soon with a functional Mono.Data.Sqlite, it will be the obvious easiest best solution:  Just use Mono.Data.Sqlite natively on systems that have mono (max/linux) and distribute Mono.Data.Sqlite.dll for windows.

Some guy on the internet managed to build a version of Mono.Data.Sqlite.dll that works on windows, and has it available here:

Naturally, everyone should feel a little uncomfortable with that, but it's very useful for testing purposes, and depending on who you are and what you care about, it might be good enough for distribution.

BTW, in case you didn't know:  

Mono.Data.Sqlite and System.Data.Sqlite are *almost* completely compatible, but not exactly.

You need to global search and replace "SQLite" with "Sqlite"  ...  Meaning ... All the same classes, and everything in the API is all the same, except the capitalization of SQL.  By doing this simply text search/replace, I was able to migrate my code from Mono.Data.Sqlite to System.Data.Sqlite and vice-versa.

More information about the Mono-devel-list mailing list