Sql server 将Excel工作表导入SQL Server 2012

Sql server 将Excel工作表导入SQL Server 2012,sql-server,aceoledb,Sql Server,Aceoledb,我目前正在将SQLServer2005迁移到SQLServer2012。大多数情况下,所有功能都保持不变。然而,在少数商店中,我使用Jet provider 4.0将Excel数据导入SQL Server表。我知道64位不支持它&Ace提供程序是这方面的替代方案。但是,我的查询仅适用于sysadmin(SA)访问,而在生产环境中不会提供这种访问 有人有相同的解决方案吗 下面是我尝试过的查询 USE Master sp_configure 'Show Advanced Options', 1;

我目前正在将
SQLServer2005
迁移到
SQLServer2012
。大多数情况下,所有功能都保持不变。然而,在少数商店中,我使用Jet provider 4.0将Excel数据导入SQL Server表。我知道64位不支持它&Ace提供程序是这方面的替代方案。但是,我的查询仅适用于sysadmin(SA)访问,而在生产环境中不会提供这种访问

有人有相同的解决方案吗

下面是我尝试过的查询

USE Master

sp_configure 'Show Advanced Options', 1;
RECONFIGURE;
GO

sp_configure 'Ad Hoc Distributed Queries', 1;
RECONFIGURE;
GO

EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'AllowInProcess', 1
GO

EXEC sp_MSset_oledb_prop N'Microsoft.ACE.OLEDB.12.0', N'DynamicParameters', 1
GO

SELECT * FROM OPENDATASOURCE('Microsoft.ACE.OLEDB.12.0',
  'Data Source=C:\Cutomer_Transaction.xls;Extended Properties=Excel 12.0')...[Sheet1$]
GO
此查询适用于sa登录。但对其他用户失败,并显示以下消息:

对oledb提供程序“Microsoft.Ace.oledb.12.0”的临时访问已被拒绝。您必须通过链接服务器访问此提供程序


通过授予对C:\Users\\Local\Temp文件夹的完全访问权限,可以解决相同的问题。现在我需要在SQL作业中调用相同的查询。有人能帮我解决这个问题吗?我想基本上我必须完全访问SQL代理