2012-02-17 50 views
2

我们希望允许通过假装为ODBC或Access等SQL服务器来访问我们的自定义后端数据存储。通过这种方式,任何具有这些ODBC驱动程序的人都可以连接并向我们发送查询(从asp.net到Excel的任何内容),我们将在后端解析并返回结果集。从.NET模仿MS Access或SQL Server ODBC服务器

我有能力解析SQL并返回基于动态SQL查询的结果集。我不知道的是如何伪装成ODBC或OLEDB服务器。我甚至不关心我们模仿哪个服务器,只要它是一个常见的驱动程序,并且带有Windows驱动程序。

我已经搜索,但找不到实现身份验证和ExecuteQuery()方法的基本实现。这样的.net项目是否存在?

回答

4

你可以实现一个ADO.NET数据提供者?

看到http://msdn.microsoft.com/en-us/library/a6cd7c08.aspx

+1

这可能是最好的方法。 http://msdn.microsoft.com/en-us/magazine/cc301611.aspx – 2012-02-17 00:53:35

+0

是的,我似乎无法找到任何*最近*的文章实施一。他们都来自像.net 1.0和东西!但人们仍然实施供应商... – 2012-02-17 00:55:19

+1

这是因为它在技术上是一种“旧”技术(阅读:“成熟”)。但EF和Linq to SQL使用ADO.NET数据提供程序。 – 2012-02-17 00:58:52

1

System.Data.Sqlite项目是如何建立一个ADO.NET数据提供了一个任意数据存储一个很好的例子。

+0

是的,他们提供了一个数据提供者,但它是一个新的驱动程序。我想模仿SqlServer或Sybase等现有网络驱动程序的最低功能,或者人们已经或可以在任何平台上安装的东西。 – powlette 2012-02-17 12:02:31

+1

有没有得到解决的事实,你必须编写代码来解释你的SQL语句,并将它们转换成你的底层数据存储所能理解的命令。 – 2012-02-17 18:24:48