我正在尝试从我的磁盘C:
上的Excel文件导入数据但是当我执行查询时
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=C:\Hola.xlsx', 'SELECT * FROM [Ripley$]')
我收到此错误
Msg 7308,Level 16,State 1,Line 1
OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”不能用于分布式查询,因为提供程序配置为在单线程单元模式下运行
我试过这个
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
但它不起作用。有人可以帮帮我吗?
我正在使用SQL Server 2008 R2和Office 2010
答案 0 :(得分:0)
不需要连接字符串中的SELECT
语句,您可以将其删除:
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0 Xml;HDR=YES;Database=C:\Hola.xlsx', [Ripley$]')
您可能也不需要Xml
部分(但我不确定这是否会导致错误):
SELECT *
FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;Database=C:\Hola.xlsx', [Ripley$]')