I made a really stupid mistake, so I’m posting it here in case anyone else is fool enough to do the same.
Lots of people have problems getting sqlite to work and play nice with Unity. In particular, there are many, many threads about the DllNotFoundException, and the myriad of things you can try. This is a deep rabbit hole, and this post is here because I went down it completely unnecessarily.
Ready for my bonehead move, and the (even more ridiculous) consequence?
If you try to execute a command on a SqliteConnection that is not open you will get a DllNotFoundException. Note that if you do the same with a sane db provider like, say, SqlServer, you’ll get an InvalidOperationException, with an even more helpful message saying “ExecuteReader requires an open and available Connection. The connection’s current state is closed.”
But Mono.Data.SqliteClient? Not a chance. Killed hours trying to figure out if I had the wrong version of dlls, or had them in the wrong place, and why in tarnation did it work in one project, but not the other. Clearly, the error was mine, but you’d think the the wrapper would have the decency to at least not send me on a wild goose chase.
/rant