尝试在sql server中导入excel文件时。发生了上述错误。
转到“链接服务器”>“提供程序”,然后在OPENROWSET查询中双击您正在使用的提供程序,并检查是否启用“禁止访问权限”,如下所示。
您还可以在HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Microsoft SQL Server \ INSTANCE NAME \ PROVIDERS \ SQLNCLI10下的注册表中找到此选项的值。运行regedit并转到上面的路径并找到“DisallowAdHocAccess”,如下所示。
我们可以从SSMS提供程序属性中禁用“禁止adhoc访问”,但它会删除注册表中的条目而不是将值更改为零,并且我们仍然获得对OLE DB提供程序的临时访问权限已被拒绝错误。
需要做的是,此注册表项需要从一个更改为零,以便为非sysadmin登录工作。因此,双击该条目并将值更改为零,然后保存记录。
即使禁用“Disallow adhoc access”,我们也需要检查“DisallowAdHocAccess”的注册表项。如果缺少该条目,则从SSMS中的提供程序属性启用该选项,然后通过将注册表中的值更改为零来禁用该选项。