如何在 Excel 中使用 ADO.NET 托管提供程序?
我有一个在 DbProviderFactory 的 machine.config 中注册的 ADO.NET 托管数据提供程序 - 它可供 Analysis Services 使用,因此我知道它已正确注册。
但是,我需要能够从 Excel 查询托管提供程序,但托管提供程序并未显示为“数据链接属性”| 中的选项。所有 Ole Db 提供商。
如何让 ADO.NET 托管数据提供程序出现在那里,或者是否需要使用其他技术?
提前致谢, 伊莱.
I have an ADO.NET Managed Data Provider that is registered in machine.config in DbProviderFactory - It is available for use from, say, Analysis Services, so I know it is correctly registered.
However, I need to be able to query the managed provider from Excel, but the managed provider doesn't appear as a choice from Data Link Properties | All Ole Db Providers.
How do I get an ADO.NET Managed Data Provider to appear there, or is there another technique I need to use?
Thanks in advance,
Eli.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
事实证明,无法在 Excel 中直接使用 ADO.NET 提供程序。
必须编写一个 OLE DB 提供程序(同样使用 ATL C++)来桥接两者 - 这很有趣......
Turns out there is no way to directly use an ADO.NET provider in Excel.
Had to write an OLE DB provider (in ATL C++ no less) to bridge the two - that was fun...
这是一篇较晚的文章,但现在有一种 ADO.NET 方法可以实现此目的 - http://support .microsoft.com/kb/316934#12
It is a late post, but now there is an ADO.NET way to this - http://support.microsoft.com/kb/316934#12
我有一个潜在的解决方法。
我将创建一个 CLR 存储过程,该过程将使用托管提供程序执行传递的 SQL 查询。
然后,我可以使用 SQLServer OLE DB 或 ODBC 提供程序调用存储过程。
如果墨菲离开的话,它应该会起作用。
I have a potential workaround.
I am going to create a CLR stored procedure that will in turn perform a passed SQL query using the managed provider.
I can then invoke the stored procedure using SQLServer OLE DB or ODBC providers.
It should work, if Murphy stays away.