2012-02-17 67 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