0

如何将sql server表数据导出到excel表。

 insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;Database=D:\Book1.xlsx;', 
'SELECT * FROM [SheetName$]') select TOP 5 CustomerID from Customers

我使用了上面的查询,但它显示以下错误

消息 7308,级别 16,状态 1,第 1 行 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行。

4

1 回答 1

1

我找到了解决方案

sp_configure 'show advanced options', 1;
GO
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
GO
RECONFIGURE;
GO
EXEC sp_MSSet_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO     
EXEC sp_MSSet_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
 insert into OPENROWSET('Microsoft.ACE.OLEDB.12.0', 
'Excel 12.0;Database=D:\Book1.xls;', 
'SELECT * FROM [Sheet1$]') select TOP 5 CustomerID from Customers

它工作正常

于 2014-02-15T13:15:53.100 回答