zoukankan      html  css  js  c++  java
  • SQL Server 2008 R2 链接 Oracle 10g

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

    “MSDAORA” 和“OraOLEDB.Oracle”

    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"时出错。”

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

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

    1. 服务器上需要安装Oracle 64位的客户端(http://www.oracle.com/technetwork/cn/database/10204-winx64-vista-win2k8-082253-zhs.html)

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

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

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

    3. 新建链接服务器(名称 自定 :ORA_LINK)

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

    5. 填写产品名称->Oracle

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

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

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

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

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

    Oracle 的 透明网关(transparent Gateway) 也可以实现 Oracle 可以与 其它异构数据库的互联

  • 相关阅读:
    3. 算法分析
    4. union-find算法
    1.基础编程模型和数据抽象
    2. 背包,队列和栈
    .NET Core 单元测试
    ASP.NET Core Web API
    ASP.NET Core MVC 之区域(Area)
    ASP.NET Core MVC 之依赖注入 Controller
    ASP.NET Core MVC 之依赖注入 View
    微服务架构学习与思考(04):微服务技术体系
  • 原文地址:https://www.cnblogs.com/net-saiya/p/7803393.html
Copyright © 2011-2022 走看看