无法通过powershell读取sql

时间:2019-09-12 20:09来源:江苏十一选五手机版数据库
在SQL SE途睿欧VEPRADO 二零一零 CRUISER2下用Windows身份验证的记名名创造了多个做客ORACLE数据库的链接服务器xxxxx,测验成功,木有毛病,可是别的登入名使用该链接服务器时,报如下错误

在SQL SE途睿欧VEPRADO 二零一零 CRUISER2下用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 驱动提供的。它消除了五个数据库类型不雷同的的难点。而且只要急需使用分布式事务,必需选用它来创制链接服务器。后文子禽有详尽介绍。 在创建此前,在SQLSE巴博斯 SLK级VE牧马人中,链接服务器->访谈接口->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 六10位的客商端(

鬼子给出了二个缓慢解决那一个难点的步调,极其详细严峻,差不离左右逢源。能够用作参照学习的好材质:

设置到位后SQL Server的走访接口上会新扩充”OraOLEDB.Oracle”(安装三12个人客商端,看不到)。

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

  2:Open the properties page of “MSDAINITIALIZE”.

6. 数据源填写Oracle客商端/服务端配置的接连地址的劳动名(tnsnames.ora中的服务名)

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

  (listener.ora/sqlnet.ora/tnsnames.ora配置文件详解)

  4:Close out of “dcomcnfg”.

  (sqlnet.ora<->Oracle Net Manager  概要文件)(tnsnames.ora<->Oracle Net Manager 服务命名)(listener.ora<->Oracle Net Manager 监听程序)

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

7. 填写Oracle的登录账号密码:选用项->安全性->选取”使用此安全上下文创立连接”,并填入Oracle登入名与登录密码

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

SELECT * FROM OPENQUERY(ORA_LINK,'SELECT * FROM USERNAME.TABLE');

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

 

  8:Close out of “regedit”.

Oracle 的 透明网关(transparent Gateway) 也得以达成 Oracle 能够与 别的异构数据库的打成一片

  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.

 

 

编辑:江苏十一选五手机版数据库 本文来源:无法通过powershell读取sql

关键词: