Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server “xxxxxxx”.

Cannot create an instance of OLE DB provider “OraOLEDB.Oracle” for linked server “xxxxxxx”.

在SQL SE奥迪Q7VE劲客 二〇〇八 Highlander2下用Windows
身份验证的记名名创设了贰个拜会ORACLE数据库的链接服务器xxxxx,测量检验成功,木不符合规律,可是任何登入名使用该链接服务器时,报如下错误:

背景:

第一sqlserver 链接oracle能够透过两个访谈接口:

多年来再用SSIS做多少归档,里面用到了布满式事务。在开辟阶段是在一台Computer上运转只纵然开发银行分布式服务就没怎么难点,不过前天把它安顿到uat的时候境遇题目,错误新闻是:

消息 7302,级别
16,状态 1,第 1 行

     斩新服务器,需求追加属性监察和控制,发掘无法透过powershell读取品质指标

“MSDAORA” 和“OraOLEDB.Oracle”

澳门新萄京 1

Cannot create an
instance of OLE DB provider “OraOLEDB.Oracle” for linked server
“xxxxxx”.

焚林而猎办法:

1、“MSDAORA”访谈接口是由Microsoft OLE DB Provider for
Oracle提供的,这里建议不使用此接口进行链接。通过该访问接口创建的链接服务器在开始展览查询oracle表(带数据类型CLOB、BLOB字段)时会报这些荒唐“
链接服务器””的 OLE DB 访谈接口 “MSDAORA” 重回了音讯 “发生了一个 Oracle
错误,但力不能支从 Oracle 中查找错误音讯。”。 链接服务器””的 OLE DB 访问接口
“MSDAORA” 重回了消息 “数据类型不被辅助。”。 音讯 7321,品级 16,状态
2,第 1 行 希图对链接服务器 “” 的 OLE DB 访问接口 “MSDAORA”
施行查询”select * from SYS_MESSAGE”时出错。”

末尾找到解决方案:

 

  • Open the Registry Editor by going to the Start Menu and selecting
    Run…, then type “regedit”, and click the OK button.
  • Navigate to the
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurePipeServers\winreg registry
    key.
  • Right click on the “winreg” key and select Permissions. Add users or
    groups to which you want to grant Read access.
  • Exit Registry Editor and restart Windows.

2、“OraOLEDB.Oracle” 访谈接口是由oracle 的Oracle Probider for OLE DB
驱动提供的。它消除了多个数据库类型不均等的的难点。何况只要急需运用遍布式事务,必须使用它来创立链接服务器。后文仲有详实介绍。 在创制以前,在SQLSE普拉多VE宝马X5中,链接服务器->访谈接口->OraOLEDB.Oracle->右键属性,选中
“Allow inprocess”
(中文为:允许进程内) 这一步是使大家选拔的OraOLEDB.Oracle接口展开实施操作。如未安装会报如下错误: “不能起始化链接服务器
“null” 的 OLE DB 访谈接口 “OraOLEDB.Oracle” 的数据源对象”

  1. 确定”Distribute Transaction
    Coordinator”服务在Server和地点都以运作情状。(如战败能够 输入:msdtc
    -resetlog (注意运维此命令时,不要试行挂起的业务)
  2. 在Server上打开 Component Services。 Control Panel –> System and
    Security –> Administrative Tools –> Component Services.
  3. 拓展至 Component Services –> Computers –> My Computer –>
    Distributed Transaction Coordinator –> Local DTC,
    右键,选取Properties。在弹出的Dialog中甄选Tab “Security”,
    勾选Network DTC Access 等选取,具体设置如下图。
    澳门新萄京 2
  4. 如上的截图是在win8上的,假使您的体系是xp或是二零零一则有一点点变化.展开至
    Component Services –> Computers –> My Computer右键,选用Properties。在弹出的Dialog中选取Tab “MSDTC”–>Security
    Configuration, 勾选”Network DTC Access”, “Allow Remote Client”,
    “Allow Inbound/Outbound”, “Enable TIP” (Some option may not
    benecessary, have a try to get your configuration)
    等选项,具体设置如下图。
    澳门新萄京 3
  5. 肯定后会供给重复开动Service。注:借使在后头的步子做完后,依旧不恐怕减轻难点,只怕需求重启Computer。
  6. 确定DTC不会被您的防火墙阻止。

那时候急需在“服务器对象”——>“链接服务器”——>“访谈接口”下,找到OraOLEDB.Oracle选项,单击右键选取属性,然后在拜会接口选项下勾选“允许进度内”(Allow
inprocess)。就能够缓慢解决地方难题,不常候,大概需求再行新建此链接服务器。

 

 请注意,假使我们的条件和自个儿同样不在域里面,请选中不必要开始展览认证。否者在运转布满式事务时远程Computer会提示“此专门的学问已明地或暗地被断定或停止”。(Computer名称一定要能ping通,否则回报同样的失实),
注意xp系统下一般是ping不通的

澳门新萄京 4

服务器 windows server 2008 r2 64位  或 win 7 enterprise 64位

是因为防火墙禁止了icmp数据包.
实际查看:
千帆竞发-调控面板-防火墙-高档-ICMP-设置.允许了就能够ping通了

 

  1. 服务器上必要安装Oracle
    陆拾一人的客户端(

澳门新萄京 5

澳门新萄京,老外给出了贰个化解这么些标题标手续,格外详细严苛,大约一帆风顺。能够当做参谋学习的好资料:

安装到位后SQL
Server的走访接口上会新扩充”OraOLEDB.Oracle”(安装叁11个人客户端,看不到)。

ps:

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图