SQLite Forum

SQLite ODBC
Login
> When I install MySQL or SQL Server, the installation of the ODBC drivers or OLEDB Providers are implicit.

and 

> With SQLite, I do NOT need to download ANY version of SQLite. I have tried two Dot NET providers and one ODBC driver. EACH ONE OF THESE installs its OWN VERSION of SQLite. I have no option regarding the version that I use. See message#12 in this thread.

I think I can start to see where the confusion comes in.

SQLite is an engine, it never gets "installed". When you say "EACH ONE OF THESE installs its OWN VERSION" you are simply wrong, nothing is getting installed. What happens is that those all use the SQLite Engine, afforded them by the C-Code they added to their own code when getting compiled, or perhaps in some select cases, the code that got compiled against the library they use.

Also, please realize that the ODBC/OLE drivers are not "implicit" when installing, say MySQL. At least one of those are a Windows-only thing and MySQL is multi-platform. What you mean to say is: "The OLE/ODBC connector comes included with the Windows installer". In Linux, we have no such expectation (at least, not typically).  
Fair enough though, it is contained in your installer. But you realize that the VERSION of MySQL that the ODBC/OLE connector connects to is simply the version of the RDBMS ENGINE you have installed, right? There is no programmatic "choosing" of the version.

Now with SQLite, very importantly, there is no Server, there is nothing to connect to. SQLite is fully contained inside the process code of whatever is using it.

To use an example - imagine there is a big bread-factory set up in a town, and vendors get their carts and fill up their bread at the factory, then go to the streets/houses to sell it. This is how the ODBC for MySQL/MSSQL/Server RDBMSes work.  In SQLite's case, we give you a small self-contained factory, or the plans for one that you build yourself and can sell your own bread from completely free of needing a big factory t o connect to.  Now any SQLite connector, such as the ODBC SQLite connector is really a stand-alone little ODBC code around it's own little SQLite factory, it never connects to "SQLite" somewhere else, and so the version of the factory it contains when it was built, IS the only version it will ever use. If you want a connector to use a more newer better version of SQLite, you have to get the newest plans, and rebuild the factory and the ODBC connector that contains it together.

Same goes for any other SQLite connector/wrapper/etc, and any other software that "uses" SQLite - they all have their own version baked-in and you, if you are using any of them, are slave to what version they come with.
There are some who can use a Dynamic linked library, but you then still are a slave to whichever version of that library THEY use (which may be local to them and not necessarily the "system"-wide available one). Updating the library will update the version they use, but still, you have to find the newest plans and rebuild said library to make them use it.

Over here on the forum and on the SQLite.org site, we can give you the very latest plans for such an SQLite factory, we can tell you how to build it for use in your code, how to build a CLI that uses it, we can tell you how to build a dynamically linked library that can be substituted in place of an existing library. Heck, we can even give you pre-compiled (you only need to download it and use it) versions of such libraries for all major platforms, plus CLI's for the major platforms.

That said - what we can absolutely never do, is guarantee what version some one of these connectors/ODBC/Wrappers/other SQLite software in the wild will be using, and much less show you a method of "changing" what version they use, especially programmatically. They are what they are. To update them is to rebuild them.

So what you were asking originally (and still) is 100% impossible.

Your question is very much like that of a child asking how to make their ATM card work on their piggy-bank. Naturally a lot of answers revolved around "Mate, please learn about banking first before asking questions like that", and rightfully so.

What you have done though is ignored any such advice and in stead insisted that we are evil for attacking your programming immaturity or personal feelings while still refusing to show you an example of how you can use your ATM card on your piggy bank... and being very demanding that we stop our nonsense and start showing you.


Well, what you want to do cannot be done, it's not possible, it's not how the things work, and we cannot do it ourselves, much less teach you how.

Ask a thing that is possible, then we can show you how, and i daresay, would be happy and glad to assist.