2
我将查询结果保存到SQL Server 2008中的表my_table
中,然后希望将表中的数据插入到Excel 2007文件中。下面是查询我using-将sql查询结果导出为excel文件
INSERT INTO OPENROWSET('Microsoft.Jet.OLEDB.4.0',
'Excel 8.0;Database=C:\testing.xls;',
'SELECT Name, Date FROM [Sheet1$]')
SELECT a, b FROM my_table
GO
它显示以下错误
Msg 7308, Level 16, State 1, Line 1
OLE DB provider 'Microsoft.Jet.OLEDB.4.0' cannot be used for distributed queries because the provider is configured to run in single-threaded apartment mode.
我怎样才能得到这个固定的?附: Ad Hoc分布式查询似乎在我的系统上启用。
确保您已启用[Ad Hoc Distributed Queries](http://stackoverflow.com/questions/14544221/how-to-enable-ad-hoc-distributed-queries)。注意这是一个服务器范围的设置。如果你的SQL Server是64位的,也可以看看[this](http://dba.stackexchange.com/questions/68050/distributed-queries-are-configured-to-run-in-single-threaded-apartment模式)问题。 [这里](http://dba.stackexchange.com/questions/54675/openrowset-how-to-configure-ole-db-provider-to-be-used-for-for-distributed-que)是一个问题,其中有人正在使用较新的供应商。 –
在打开'testing.xls'并查询表格时是否有益处?拉而不是推? –
@BaconBits Ad Hoc分布式查询选项似乎在我的系统上启用。我使用显示配置的快照更新了问题。 – Karver01