• SQLServer添加Oracle链接服务器


    又一次在项目中用到了在SQLServer添加Oracle链接服务器,发现之前文章写的也不太好使,那就再总结一次吧。

    1、安装OracleClient

    安装64位,多数SQLServer是64位,所以OracleClient也安装64位的;

    再一个一般安装的Oracle11g

    2、修改tnsnames.oRA

    添加需要链接Oracle数据的连接串,如:

    test =
     (DESCRIPTION =
     (ADDRESS = (PROTOCOL = TCP)(HOST =Oracle数据库服务器ip或机器名)(PORT = 1521))
     (CONNECT_DATA =
     (SERVER = DEDICATED)
     (SERVICE_NAME = Oracle服务ID)
     )
     )

    3、尝试通过SQLDeveloper连接

    这个需要安装java,运行SQLDeveloper需要选择java.exe路径,而且这里需要是32位的java SDK

    这个时候可能会提示“ORA-12638: 身份证明检索失败”,需要修改sqlnet.ora

    这是由于Oracle的认证方式导致的,使用了本地操作系统认证(NTS),修改为口令文件认证(NONE)即可

    这个时候SQLDeveloper可以正常登录了

    4、SQLServer创建链接服务器

    其中:提供程序选择Oracle那一项,产品名称填写Oracle,数据源填写tnsnames.oRA配置的连接名,访问接口字符串空着。

    左侧点击“安全性”,右边选择使用此安全上下文建立连接,输入连接Oracle数据的账户、密码。

    确定,但是连接可能提示“无法从链接服务器"TEST"的 OLE DB 访问接口OraOLEDB.Oracle"获取所需的接口

    访问接口--Oracle Provider for OLE DB,勾选允许进程内,问题解决。

    5、一个问题的说明

    一开始我在本地测试可以了,但是到了正式环境发现个问题,我用SQLDeveloper可以连上Oracle数据库,但是通过命令行sqlplus 用户名/密码@ora文件的连接名,一直不行,提示“OLEDB 访河接口 oraoLEDB.Orade"返回了消息ORA-12514: TNS: 监听程常当箭无法识别连接描述符中请求的服务”。(Microsoft soL server,错误:7303)”

    整好那边有个高手,让改了下ora文件的SERVICE_NAME,再去SqlServer看链接服务器,瞬间测试连接成功。

    其实我们多数时候通过SQLDeveloper连接Oracle数据库,是用的SID

    借助上面思路,试了下,改为服务名,还是用SID的值,发现连不上;服务名改为ora文件人家让改的值,可以通。

    看来确实还是有不一样的。

    get,但还未知其所以然。

    查了下,大概意思:这俩默认可以一样也可以不一样,SID实例ID,服务名称就是服务名称了。

    可以实例ID不一样,但是服务名称一样,即多个服务器节点一个数据库。

    先这样,以后理解多了,再完善。

  • 相关阅读:
    结构体内存对齐详解
    第十一章 JSP开发模型
    阿里颁布2022年最新Java岗面试开卷小抄,新招聘规章已成过去
    WPF 入门笔记 - 04 - 数据绑定 - 补充内容:资源基础
    Apifox入门实用教程
    Diango项目-简易个人博客项目
    使用Ubuntu系统搭建RabbitMQ服务并结合内网穿透实现公网访问
    辅助驾驶功能开发-功能规范篇(16)-2-领航辅助系统NAP-自动变道-1
    动态功能连接
    权限系统--前后端完全分离
  • 原文地址:https://blog.csdn.net/ewqewqqwe/article/details/134382442