我正在尝试使用安装在Windows200864位machine.When中的SQL Server2008SQL Server2008 R2上的Openrowset。我执行以下查询时,得到一个错误,如below.Please help me out。
SELECT * FROM OPENROWSET('Microsoft.Jet.OLEDB.4.0','Excel 8.0;Database=E:\01112012.xls;','SELECT * FROM [Sheet1$]')错误:
消息7403,级别16,状态1,第1行OLE DB提供程序"Microsoft.Jet.OLEDB.4.0“尚未注册。
发布于 2012-01-11 05:57:42
您是否安装了:->Microsoft Access Database Engine 2010 Redistributable
发布于 2015-04-23 11:48:26
在64位版本的windows中运行OPENROWSET。
1-安装AccessDatabaseEngine_x64.exe (需要重新启动)。
2-如果使用的是SQL Management Studio,请以管理员身份运行Management Studio。如果不以管理员帐户运行,将出现此错误(无法初始化链接服务器"(null)“的OLE DB访问接口"MICROSOFT.ACE.OLEDB.12.0”的数据源对象。
3-运行此命令以配置数据库
EXEC sp_configure 'show advanced options', 1;
RECONFIGURE with override;
GO
EXEC sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE with override;
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
GO4-不要在OPENROWSET函数中使用‘select* from SHEET1$’。试试这段代码。
select * from OPENROWSET('MICROSOFT.ACE.OLEDB.12.0', 'Excel 12.0;HDR=YES;DATABASE=D:\test.xlsx', sheet1$)如果仍然有(32位)错误,请尝试重新启动SQL服务并检查C:\Windows\Temp,然后查看是否有权访问此目录。
https://stackoverflow.com/questions/8811063
复制相似问题