2008-09-10 36 views
4

OleDB提供程序是Microsoft提供的一種實現COM接口的二進制文件。從這看來有可能創建一個使用C#的提供者。那是對的嗎?有樣品證明嗎?如果沒有,你會阻止我這樣做嗎?我看到有多個未管理的樣本,但我找不到任何管理的樣本。用C#編寫的託管OleDB提供程序

回答

-4

我不知道我真正明白你的問題?已經有一個託管的OleDBProvider ?!

using System.Data.OleDb; 

我當然會不鼓勵編寫一個存在並且工作得很好的提供者! :)

但在回答你的第一個問題,你當然可以創建自己的。 Data Provider Roadmap可能是開始進行概述和鏈接樣本等的好地方。

+0

-1這是不正確的,System.Data.OleDb管理的實現是一個OLEDB客戶端,而不是提供者。該提供程序允許從任何OLEDB客戶端訪問一組數據。有SQL,Jet,Oracle,Index Server和許多其他數據源的提供者。這些都不是在託管代碼中實現的。 – 2011-06-14 17:21:04

2

該文章很好,但實際上並沒有回答這個問題。 OLEDB是一組COM接口,實際上可以通過COM Interop在.Net中實現,但我從來沒有聽說過這樣的實現,可能不是可取的。

這組OLEDB接口由Microsoft here記錄。 OLEDB是一個複雜的話題,並不是所有的接口都需要實現一個功能提供者。更糟糕的是,不同的OLEDB客戶端具有他們需要能夠使用該提供者的一組接口。例如,下面是一個list of require interfaces,必須實現該功能才能使用.Net OLEDB客戶端(System.Data.OleDb。*)中的提供程序。注意:我沒有爲2.0 Framework或更高版本找到這樣的鏈接。最後值得注意的是,實現提供者非常困難,微軟稍後提供了一套ATL模板(C++)來幫助實施者正確地做到這一點。

要了解有關OLEDB的更多信息,我肯定會建議您在MSDN上查看Windows Data Access SDK

相關問題