经过数小时的搜索和空无一物,我决定寻求额外的帮助。
我正在运行以下命令
select * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Excel
12.0;Database=C:\SAMPLE.xlsx;HDR=YES', 'SELECT * FROM [sheet1$]')
我收到其他人收到的正常错误。
Msg 7399, Level 16, State 1, Line 1
The OLE DB provider "Microsoft.ACE.OLEDB.12.0" for linked server "(null)"
reported an error. The provider did not give any information about the error.
Msg 7303, Level 16, State 1, Line 1
Cannot initialize the data source object of OLE DB provider
"Microsoft.ACE.OLEDB.12.0" for linked server "(null)".
目前我正在运行 Windows Server 2003 R2 64 位并使用 Windows Office 2007。我在管理帐户下运行,所以我知道这与我看到的 TEMP 权限问题无关。
sp_configure 'show advanced options', 1;
RECONFIGURE;
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
USE [master]
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
已运行。
起初我遇到了错误,当我尝试其他命令时,它开始挂断我,我通过添加 -g512; 来修复它。在启动参数前面并解决了问题。但是,现在我又回到了原来的错误。
我已经卸载并重新安装了访问驱动程序,但这也没有帮助。任何建议将不胜感激。