无法仅为前端初始化OLE DB提供程序“Microsoft.ACE.OLEDB.12.0”的数据源对象

时间:2015-11-17 17:44:32

标签: sql vb.net ssms openrowset

我得到一个例外“无法初始化OLE DB提供程序的数据源对象”Microsoft.ACE.OLEDB.12.0“for linked server”(null)“。”通过VB前端运行我的存储过程时。通过SSMS运行时,该过程正常。最初我通过SSMS运行程序时遇到了同样的错误,但是作为管理员运行SSMS使其工作,然后关闭UAC允许我运行该过程而不用SSMS作为管理员运行。

我已将我的帐户的完全控制权限添加到C:\ Users \ MSSQL $ ServerInstance \ AppData \ Local

我将“Microsoft.Ace.OLEDB.12.0”作为链接服务器下的提供程序,并启用了“动态参数”和“允许进程”。

我还启用了“显示高级选项”和“Ad Hoc Distributed Queries”。

感谢您的帮助。

以下是相关程序的一部分

Set @sql = 'INSERT INTO TempTbl ( [Items] )
SELECT [Items]
FROM OPENROWSET(''Microsoft.ACE.OLEDB.12.0'', 
''Excel 12.0 Xml; 
Database='+@path+';HDR=YES'', 
''SELECT [Items] FROM ['+@sheet+'$]'');'

Exec(@sql)

0 个答案:

没有答案