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
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可以通过两个访问接口:
测试
--两种方式
select * from openquery(dl_prod,'select * from t')
--注意这个都要大写
SELECT *
FROM DL_PROD..TOM.T
GO
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/22193071/viewspace-1221521/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/22193071/viewspace-1221521/