• sqlserver 访问oracle


     sqlserver 通过链接服务器方式访问oracle 

    1.环境要求: 在sqlserver 服务器中能访问oracle服务器。 sqlserver 服务器中安装相应的oracle客户端

    2. 在oracle客户端中配置好TNS  就是在oracle相应的目录下,添加服务器的 oracle 链接字符串 如:F:appclientAdministrator1product12.1.0client_1 etworkadmin

       更改tnsnames.ora 在文件末尾中添加如下内容:

      ORCL_TEST /*要使用的服务名称 自定义*/=
    (DESCRIPTION =
    (ADDRESS_LIST =
    (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.10.62 /*oracle 服务器地址*/)(PORT = 1521 /*端口地址默认*/))
    )
    (CONNECT_DATA =
    (SERVICE_NAME = topprd /*实例名称*/)
    )
    )

    3. 完成1,2步之后,可以用oracle sql developer 测试1,2 是否成功。

    4.  在sqlserver manager studio 

    新建一个链接服务器:

    其中:1 必须, 2 是刚刚建立的服务名称   3,4 可以自定义

    再在安全中填写oracle的用户名和密码

    容易报错的地方:  

    无法初始化链接服务器“TEST”的 OLE DB 访问接口“OraOLEDB.Oracle”的数据源对象。
    链接服务器"TEST"的 OLE DB 访问接口 "OraOLEDB.Oracle" 返回了消息 "ORA-12154: TNS: 无法解析指定的连接标识符"。 (Microsoft SQL Server,错误: 7303)

    解决方法:

    按照网上的方案,先后使用了三种方案都没有解决问题(1.修改注册表,2.勾选“允许进程内”,3.设置dcomcnfg)。最后在一篇博客中找到了解决方案,

    将SQL Server(MSSQLSERVER)和SQL Full-Filter Deamon Launcher(MSSQLSERVER)两个服务的登录身份改为Local Service就可以了。

     如图

    1.设置这两个服务的登录身份

    参考网址:http://www.cnblogs.com/tiger2soft/p/6954308.html

    折腾了好久,终于搞定了!

    访问调用存储过程: execute ('oracle_sp_name;') at [192.168.1.50]   // exec(' exec  存储过程(?, ?)', 输入参数, @输出参数 out) at 链接服务器名

  • 相关阅读:
    Sublime Text3添加到右键快捷菜单教程
    layui相关用法总结
    idea-----使用相关快捷键
    Redis相关语法
    idea-----怎样取消idea默认打开工程
    idea-----Idea在不关闭project的情况下进行Import Project
    Swagger2异常:Illegal DefaultValue null for parameter type integer java
    IntelliJ IDEA打jar时常遇见的问题
    Java的基本数据类型
    Java中对JSONArray中的对象进行排序
  • 原文地址:https://www.cnblogs.com/hzf08/p/7761347.html
Copyright © 2020-2023  润新知