如何用sqlserver连oracle

如何用sqlserver连oracle,第1张

安装好oracle客户端,并配置好TNS信息。

配置好odbc连接信息,sql server肯定不能直接调用oracle的客户端去连接的,只能通过odbc的方式间接的去连,先要打开odbc界面。

然后选user DSN,点Add,选择上一个画面中看到的oracle driver。

出现这页面后,在Data Source Name随便输入一个名字,这个名字就要后面sql server要用到的。TNS Service Name的下拉列表中就是oracle中配置好的TNS信息,如果你开始没有配置的话这里就为空的。你选一个TNS名字后,可以点下test connection验证下看连接上了不。

在前面创建好odbc数据源后就可以在sql server中配置。先打开management studio。在server objects下面有个Linked Servers,选中它并右击new linked server。在linked server中输入一个名字,随便取的,在后面执行sql时会用到这名字。provider就选Oracle Provider for OLE DB。 product name就填oracle Data source就是你开始配置odbc时取的名字。其他地方就不用管了。

然后再点下Security会d出另一个页面,在此页面最下面的地方输入用户名和密码,然后点OK。

在Linked Servers下面会看到ORA_ARWEN,大功告成了。

一、创建sqlserver链接服务(sqlserver链接oracle)

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

链接服务器 "LINK2ORACLE" 的 OLE DB 访问接口 "MSDAORA" 为列提供的元数据不一致。对象 ""CMCC"."OS2_GIS_CELL"" 的列 "ISOPENED" (编译时序号为 20)在编译时有 130 的 "DBTYPE",但在运行时有错。

2、“OraOLEDB.Oracle” 访问接口是由oracle 的Oracle Probider for OLE DB 驱动提供的。它解决了两个数据库类型不一致的的问题。而且如果需要使用分布式事务,必须使用它来创建链接服务器。后文会有详细介绍。

在创建之前,在SQLSERVER中,链接服务器->访问接口->OraOLEDB.Oracle->右键属性,选中 "Allow inprocess" (中文为:允许进程内)

这一步是使我们选择的OraOLEDB.Oracle接口打开执行 *** 作。如未设置会报如下错误:

“无法初始化链接服务器 "null" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的数据源对象"

步骤1:打开企业管理器,如下。步骤2:选择数据库,安全性,点击新建链接服务器。步骤3:选择链接服务器属性,常规,输入名称:TEST,选择ORACLE数据库提供程序,输入名称、数据源。步骤4:进行安全性设置。本地登录,选择SQLServer数据库登录用户,远程登录用户和密码,输入远程连接数据库的用户和密码,选择用此安全上下文进行,输入远程登录用户和密码。5步骤5:点击TEST链接服务器下的表,我们可以访问ORACLE数据库的表了。注意:产品名称要和所链接的服务器相对应,使用ORACLE数据库就要输入ORACLE,使用SQLServer就输入SQLServer。


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/9901809.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-03
下一篇 2023-05-03

发表评论

登录后才能评论

评论列表(0条)

保存