我试图运行以下语句,但是收到下面的错误消息。我已经进行了无数次的答案研究,但都没有起作用。我正在运行Office 365(64位)。我已经加载了Microsoft Access数据库引擎(64位)。这是在Visual Studio 2013与SSDT以及SQL Server 2012中。我无法访问更改SQL Server环境或启动参数的权限。任何帮助都将不胜感激。
SELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.15.0',
'Excel 12.0;Database=C:\Users\UserName\Folder\SomeFile.xlsx;;HDR=NO;IMEX=1', [Table 1$])
- Msg 7399,级别16,状态1,行1 OLE DB提供程序“Microsoft.ACE.OLEDB.15.0”针对链接服务器“(null)”报告了一个错误。提供程序没有提供有关错误的任何信息。
- Msg 7303,级别16,状态1,行1 无法初始化与链接服务器“(null)”配套使用的OLE DB提供程序“Microsoft.ACE.OLEDB.15.0”的数据源对象。
这是我尝试过的:
首先,我运行了...
sp_configure 'show advanced options', 1;
RECONFIGURE;
GO
sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO
接着是...没有爱。
EXEC sys.sp_addsrvrolemember @loginame = N'<<Domain\User>>', @rolename = N'sysadmin';
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'AllowInProcess', 1
GO
EXEC master.dbo.sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.15.0', N'DynamicParameters', 1
GO
我已经修改了代码以读取 Microsoft.ACE.OLEDB.12.0,因为我也看到过这个,但仍然没有成功。
我还检查了 C:\Users\MSSQLSERVER\AppData\Local\Temp 和 C:Windows\ServiceProfiles\NetworkService\AppData\Local 的权限,并授予以下内容的完全控制权限:System、MSSQLSERVER和管理员,网络服务(对于后者)。
仍旧不成功。
最后,我尝试切换到 Microsoft Access 数据库引擎的 32 位版本,但依然无法工作。
有人能帮忙吗?
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\Users\UserName\Folder\SomeFile.xlsx;Extended Properties="Excel 12.0 Xml;HDR=NO;"
。我一直在使用它与ADODB一起访问Excel 2007和2010文件,并且运行良好。 - JNevillSELECT * FROM OPENROWSET('Microsoft.ACE.OLEDB.12.0', 'Source=C:\Users\UserName\Folder\SomeFile.xlsx;Extended Properties="Excel 12.0 Xml;HDR=NO;"', [Table 1$])
- JNevill