sqlserver 连接 oracle

1、首先安装oracle client

安装时有四个选项:
l Instantclient,相当于最小化安装。
l 管理员,完整安装。
l 运行时
l 自定义

为了管理方便,一般以管理员方式安装

2、配置tnsnames.ora

prod = 
(DESCRIPTION = 
  (ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.128)(PORT = 1526)) 
  (CONNECT_DATA = 
    (SERVER = DEDICATED) 
    (SERVICE_NAME = prod) 
  ) 


测试tns

4XCCvNm7HAUgkAAAAASUVORK5CYII=

3、在sqlserver中建dblink

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

“MSDAORA” 和“OraOLEDB.Oracle”

1、“MSDAORA”访问接口是由Microsoft OLE DB Provider for Oracle提供的,这里建议不使用此接口进行链接。
通过该访问接口建立的链接服务器在进行查询oracle表(带数据类型CLOB、BLOB字段)时会报这个错误


链接服务器""的 OLE DB 访问接口 "MSDAORA" 返回了消息 "发生了一个 Oracle 错误,但无法从 Oracle 中检索错误信息。"。
链接服务器""的 OLE DB 访问接口 "MSDAORA" 返回了消息 "数据类型不被支持。"


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



wcYv2NU40GnKwAAAABJRU5ErkJggg==

UkLjdgb6wAAAABJRU5ErkJggg==


测试

--两种方式

select * from openquery(dl_prod,'select * from t')

--注意这个都要大写

SELECT *
  FROM DL_PROD..TOM.T
GO

gj3jHMn1lZQAAAAASUVORK5CYII=

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22193071/viewspace-1221521/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/22193071/viewspace-1221521/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值