我需要在 SQL Server 实例上创建链接服务器以从 Oracle 获取数据,但我发现它很难。
我设置了ODBC Oracle并且连接测试成功,但是当我尝试在SQL Server中创建链接服务器时,会出现以下消息。
代理服务和MSSQLSERVER的用户是LocalSystem
无法初始化OLE DB提供程序的数据源对象" MSDASQL" 对于链接服务器" 10.40.22.7"。 OLE DB提供程序" MSDASQL"为了链接 服务器" 10.40.22.7"返回消息"指定的驱动程序不能 因系统错误而加载1114:动态链接库(DLL) 初始化例程失败。 (OraClient12Home1中的Oracle,G:\ app \ client \ adm_bds \ product \ 12.1.0 \ client_1 \ SQORA32.DLL)。 " (Microsoft SQL Server,错误:7303)
简介文件夹中的文件存在。
答案 0 :(得分:1)
Oracle
版本无关的问题。
在安装MS SQL server
之后重新启动ODAC
服务。
MS SQL service
必须刷新安装ODAC
之后添加的环境变量。
答案 1 :(得分:0)
鉴于它是> 1年前,这可能不会帮助法比亚诺,但可以帮助其他人......
遇到同样的问题,结果证明是SQORA32.DLL 的权限设置以及SQORA32依赖的的DLL。 运行MSSQLServer进程的帐户需要具有该文件夹中所有相关DLL的读/执行权限。 (使用任务管理器识别帐户)
将帐户添加到SQORA32.DLL所在文件夹的安全设置,并让文件夹中的所有文件继承权限。
如果您更改了文件夹权限并且仍然遇到错误消息,请确保其他文件没有禁用权限继承。我的文件没有继承文件夹权限(因为某些天才禁用了它),尽管给了SQORA32.DLL正确的权限设置,同样的错误信息仍然弹出并抱怨SQORA32.DLL。事实证明,错误信息是一个红色的鲱鱼;是依赖的DLL没有正确的权限设置。
〜DES
答案 2 :(得分:0)
我的问题是包含 SQORA32.DLL 的文件夹不在 PATH 中。将其添加到系统PATH并重新启动sql server后,连接建立,没有错误。