我在 SQL 查询中尝试了以下查询
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel 12.0;Database=c:\generalholiday.xls','select * from [sheet1$]')
发生以下错误:
用于链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”返回消息“Microsoft Access 数据库引擎找不到对象 'sheet1$'。确保该对象存在并且您拼写了它的名称和路径名正确。如果“sheet1$”不是本地对象,请检查您的网络连接或联系服务器管理员。”。消息 7350,级别 16,状态 2,第 1 行无法从链接服务器“(null)”的 OLE DB 提供程序“Microsoft.ACE.OLEDB.12.0”获取列信息。
实际上,我根据此查询搜索了很多答案。但我没有得到可靠的结果。
到目前为止我所做的,
我安装了 64 位的 access 数据库引擎,并运行以下查询
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
GO
EXEC sp_configure 'ad hoc distributed queries', 1
RECONFIGURE
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO
但仍然发生上述错误。找到这个解决方案让我头疼一整天。
请给我这个问题的解决方案。
我正在使用 SQL Server 2008(64 位)和 MS Office 32 位