<p>An OleDB provider is a binary implementing COM interfaces provided by Microsoft. From that it seems to be possible to create a provider using C#. Is that correct? Is there a sample demonstrating that? If not, would you discourage me from doing that? I see that there are multiple unmanaged samples but I can't find any managed.</p>

[{'answer_id': 53427, 'author': 'Rob Cooper', 'author_id': 832, 'author_profile': 'https://Stackoverflow.com/users/832', 'pm_score': -1, 'selected': False, 'text': '<p>I am not sure I really understand your question?! There already <em>is</em> a managed OleDBProvider?!</p>\n\n<pre><code>using System.Data.OleDb;\n</code></pre>\n\n<p>I would certainly discourage writing a provider that exists and works absolutely fine! :)</p>\n\n<p>But in answer to your first question, you can of course create your own. The <a href="http://support.microsoft.com/kb/313480" rel="nofollow noreferrer">Data Provider Roadmap</a> may be a good place to start for an overview and links  to samples etc.</p>\n'}, {'answer_id': 6347587, 'author': 'Peter Oehlert', 'author_id': 44656, 'author_profile': 'https://Stackoverflow.com/users/44656', 'pm_score': 2, 'selected': False, 'text': '<p>The article is good, but doesn\'t actually answer the question. OLEDB is a set of COM interfaces that could in fact be implemented in .Net via COM Interop though I\'ve never heard of such an implementation and probably isn\'t advisable.</p>\n\n<p>The set of OLEDB interfaces are documented by Microsoft <a href="http://msdn.microsoft.com/en-us/library/ms709709%28v=VS.85%29.aspx" rel="nofollow">here</a>. OLEDB is a complicated topic and not all interfaces are required to implement a functional provider. To make things worse, different OLEDB clients have the set of interfaces they require to be able to use the provider. For example, here is a <a href="http://msdn.microsoft.com/en-us/library/cwctxe7a%28v=vs.71%29.aspx" rel="nofollow">list of require interfaces</a> that must be implemented to use a provider from the .Net OLEDB client (System.Data.OleDb.*). Note: I didn\'t find such a link for the 2.0 Framework or later. Finally it\'s worth noting that it was so difficult to implement providers Microsoft later provided a set of ATL templates (C++) to help implementers do it correctly.</p>\n\n<p>To learn more about OLEDB I\'d definitely recommend looking at the <a href="http://msdn.microsoft.com/en-us/library/aa968814%28v=VS.85%29.aspx" rel="nofollow">Windows Data Access SDK</a> on MSDN.</p>\n'}]
['https://Stackoverflow.com/questions/53404', 'https://Stackoverflow.com', 'https://Stackoverflow.com/users/223/']