通过ODBC访问内存中的sqlite数据库

问题描述:

我有一个嵌入在我的应用程序中的内存数据库,我希望其他应用程序能够通过ODBC访问它。通过ODBC访问内存中的sqlite数据库

搜索了一小时后,我想我有2个选项。

  1. 编写我自己的ODBC驱动程序,它知道如何通过网络与我的应用程序对话。
  2. 在我的应用程序中实现MySQL或Postgres有线协议,以便客户端应用程序可以使用MySQL/Postgres驱动程序。

根据Creating a custom ODBC driver写我自己的驱动程序是一项艰巨的任务,不应掉以轻心。

所以这里是我的问题。

  1. 如果我必须实现有线协议,我是否正确地假设我可以创建一个与数据库通信并通过网络与客户端进行通信的线程?这听起来对我来说很简单。
  2. 你知道我为什么应该选择其中一种MySQL/Postgres /其他有线协议吗?我的查询将是基本的SELECT语句。
  3. 有没有更简单的方法通过ODBC访问我的内存中的sqlite数据库?

我是新来的数据库的世界,将不胜感激任何指针进一步阅读。

+0

您测试了[SQLite ODBC驱动程序](http://www.ch-werner.de/sqliteodbc/)吗? – Solarflare

+0

@Solarflare是的,它似乎只适用于磁盘上的sqlite文件。我没有通过它的源代码来看看它是多么容易扩展它。 – Bhargava

您应该创建自己的ODBC驱动程序。也许你不需要实现所有的ODBC功能,而一个子集就可以完成。

试图模仿不同的数据库,其怪癖和特质可能会更困难。

+0

考虑到实现有线协议的复杂性,我决定编写自己的ODBC驱动程序。 – Bhargava