您的位置:金沙游乐场85155 > 大数据库 > Cannot create an instance of OLE DB provider "OraOL

Cannot create an instance of OLE DB provider "OraOL

发布时间:2019-10-02 09:54编辑:大数据库浏览(189)

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

    背景:

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

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

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

    解决方法:

     

    • 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.

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

    图片 1

     

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

    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:

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

      2:Open the properties page of “MSDAINITIALIZE”.

      3:Copy the “Application ID” on the properties page.

      4:Close out of “dcomcnfg”.

      5:Run “regedit”. Navigate to “HKEY_CLASSES_ROOTAppID{???}” with the ??? representing the application ID you copied in step #3.

      6:Right click the “{???}” folder and select “Permissions”

    本文由金沙游乐场85155发布于大数据库,转载请注明出处:Cannot create an instance of OLE DB provider "OraOL

    关键词: