On Thu, May 8, 2014 at 5:32 PM, Doug Blank <doug.bl...@gmail.com> wrote: > Just getting back to attempting to use sqlite3 on computers other than > Windows, and it looks like this C# library has other problems on other OSes. > > The first issue is that it appears that all activity must happen in the same > thread (connection, cursor, execution). That can mitigated against if that > is the way that it has to be. (A wrapper could be supplied to run everything > in a specific thread). > > The next problem is a show stopper: > > import sqlite3 > conn = sqlite3.connect("test.db") > cur = conn.cursor() > cur.execute("select * from tables;") > > This works on Windows, but gives a SystemError: LockFileEx on Linux. I > suspect that the information that Ivan pointed to (below) indicates that > these patches screwed up sqlite port so that it no longer will work on Linux > and Mac. > > Anyone have ideas, on either a fix, or using a different library, different > version?
Right now, I don't know if there's much that can be done. The C# SQLite port it uses is pretty Windows-specific, and I doubt it's worth the effort to fix it since it's no longer maintained anyway. I've been pondering replacing the guts of the SQLite module with https://github.com/ericsink/SQLitePCL.raw, which wraps the *actual* SQLite library instead of the C# port. The module implementation shouldn't have to change that much, since most of the function names should be the same. I don't yet know if SQLitePCL works on Unix/Mac but it does support Android and iOS so it's probably going to be a lot easier to fix it than it would be for C#-SQLite. I hadn't planned on this until IronPython 3, but I'd be very happy to include it in 2.7.5 (or a possible 2.7.6) if someone else does the work. - Jeff _______________________________________________ Ironpython-users mailing list Ironpython-users@python.org https://mail.python.org/mailman/listinfo/ironpython-users