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

简介:

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

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

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

 

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

clipboard

 

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

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_ROOT\AppID\{???}” with the ??? representing the application ID you copied in step #3.

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

  7:Add the local administrators group to the permissions, grant them full control.

  8:Close out of “regedit”.

  9:Reboot the server.

  10:Run “dcomconfig”. Navigate to “Component Services -> Computers -> My Computer -> DCOM Config”.

  11:Open the properties page of “MSDAINITIALIZE”.

  12:On the “Security” tab, select “Customize” under “Launch and Activation Permissions”, then click the “Edit” button.

  13:Add “Authenticated Users” and grant them all 4 launch and activation permissions.

  14:Close out of “dcomcnfg”.

  15:Find the Oracle install root directory. “E:\Oracle” in my case.

  16:Edit the security properties of the Oracle root directory. Add “Authenticated Users” and grant them “Read & Execute”, “List folder contents” and “Read” permissions. Apply the new permissions.

  17:Click the “Advanced Permissions” button, then click “Change Permissions”. Select “Replace all child object permissions with inheritable permissions from this object”. Apply the new permissions.

  18:Find the “OraOLEDB.Oracle” provider in SQL Server. Make sure the “Allow Inprocess” parameter is checked.

  19:Reboot the server.

相关文章
|
7月前
|
SQL Oracle 关系型数据库
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
Polar DB-O (兼容 Oracle 语法版本)和Polar DB PostgreSQL 版本概述(二)
697 0
|
10月前
|
存储 Oracle 关系型数据库
|
Oracle 关系型数据库 数据库连接
Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
1167 0
Navicat 数据库连接工具连接oracle数据库提示cannot create oci handles问题解决方法
|
SQL Oracle 关系型数据库
如何快速批量导入非Oracle DB格式的数据--sqlloader
在 Oracle 数据库中,我们通常在不同数据库的表间记录进行复制或迁移时会用以下几种方法
283 0
如何快速批量导入非Oracle DB格式的数据--sqlloader
|
SQL 弹性计算 Oracle
Oracle 11g on ECS 测试实践--DB篇
我通过脚本和RMAN克隆两种方法创建数据库一.通过SQL创建数据库参考文档1.创建pfile [oracle@orcl1 dbs]$ cd /u01/app/oracle/product/11.2.0/db_1/dbs [oracle@orcl1 dbs]$ cat bak.
788 0
Oracle RAC迁移到单实例DB
这篇文章记录Oracle RAC通过RMAN备份如何迁移到单机DB,文章中描述了几个容易出错的地方,如下:    ①RAC到单机redo文件位置处理    ②RAC多个UNDO处理    ③RAC到单机临时表空间处理下面开始文章正文。
8189 0
|
Web App开发 Oracle 关系型数据库
|
SQL 算法 Oracle
解决方案:Oracle的 DB Link 问题及2019年4月前升级路线详述
这个问题严重吗? 这个问题严重吗? 我想首先回答一下这个问题,可能很多人心存疑惑,这个问题严重吗?有多严重?会影响到我吗? 首先,我们分析这个问题的起因就是因为Oracle用了空前严重的措辞,11.2.0.3 及以前版本,使用DB Link的,在2019年4月前必须应用到推荐的补丁。
3521 0

推荐镜像

更多