来自 数据库 2019-09-27 11:00 的文章
当前位置: 澳门三合彩票 > 数据库 > 正文

想一定要重新新建此链接服务器,链接服务器"

在SQL SERVER 2008 R2下用Windows 身份认证的登录名创建了一个访问ORACLE数据库的链接服务器xxxxx,测试成功,木有问题,但是其它登录名使用该链接服务器时,报如下错误:

背景:

首先sqlserver 链接oracle可以通过两个访问接口:

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

     全新服务器,需要增加性能监控,发现无法通过powershell读取性能指标

“MSDAORA” 和“OraOLEDB.Oracle”

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_MACHINESYSTEMCurrentControlSetControlSecurePipeServerswinreg 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 驱动提供的。它解决了两个数据库类型不一致的的问题。而且如果需要使用分布式事务,必须使用它来创建链接服务器。后文会有详细介绍。 在创建之前,在SQLSERVER中,链接服务器->访问接口->OraOLEDB.Oracle->右键属性,选中 "Allow inprocess" (中文为:允许进程内) 这一步是使我们选择的OraOLEDB.Oracle接口打开执行操作。如未设置会报如下错误: “无法初始化链接服务器 "null" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的数据源对象"

此时需要在“服务器对象”——>“链接服务器”——>“访问接口”下,找到OraOLEDB.Oracle选项,单击右键选择属性,然后在访问接口选项下勾选“允许进程内”(Allow inprocess)。即可解决上面问题,有时候,可能需要重新新建此链接服务器。

 

澳门三合彩票 1

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

 

  1. 服务器上需要安装Oracle 64位的客户端(

老外给出了一个解决这个问题的步骤,相当详细严谨,几乎面面俱到。可以作为参考学习的好资料:

安装完成后SQL Server的访问接口上会新增”OraOLEDB.Oracle”(安装32位客户端,看不到)。

Ran into this issue where the linked server would work for users who were local admins on the server, but not for anyone else. After many hours of messing around, I managed to fix the problem using the following steps:

安装:Windows Server2008 R2下安装Oracle 10g

  1:Run “dcomcnfg.exe”. Navigate to “Component Services -> Computers -> My Computer -> DCOM Config”.

  1. 配置”OraOLEDB.Oracle”属性->启用项“允许进程内”;

  2. 新建链接服务器(名称 自定 :ORA_澳门三合彩票 ,LINK)

  3. 填写链接服务器名称->选择访问接口”Oracle Provider for OLE DB”

  4. 填写产品名称->Oracle

本文由澳门三合彩票发布于数据库,转载请注明出处:想一定要重新新建此链接服务器,链接服务器"

关键词: