当前位置:文档之家› sql服务器添加oracle的链接服务器步骤

sql服务器添加oracle的链接服务器步骤

SQL SERVER 2005 通过链接服务器访问 ORACLE 的快速设定方法1)在SQL_SERVER 2005服务器上安装Oracle 10g的客户端。

假设安装到D:\oracle\ 目录。

如果D:是N TFS分区,需要将ORACLE安装后的目录设为所使用的用户有权可运行、可添加、可删除。

2)配置D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora 文件(手动配置)ORCL_192.168.0.163=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =orl)//此处的orl是HIS给的database))(NetManage工具自动生成的配置)ORCL_192.168.0.163 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SID = orl)//此处的orl是HIS给的database(SERVER = DEDICATED)))3)在DOS模式下运行以下命令以便确认ORA CLE客户端安装无误。

sqlplus user/password@ ORCL_192.168.0.1634)打开开始-控制面板-服务,确认Distributed Transaction Coordinator服务已启动。

5)打开SQL SERVER Management Studio,实例名称(ORCL_192.168.0.163)-服务器对象(右键)-新建连接服务器。

a)链接服务器:写上链接服务器的名字,如:OraTestb) 服务器类型,选择其他数据源c) 访问接口:选择 Microsoft OLE DB Provider for Oracled) 产品名称:写上 Oraclee) 数据源:写上tnsnames.ora 文件中配置的服务名,如:ORCL_192.168.0.163f)访问接口字符串:user id=user;password= passwordg)在选择安全性选项页,使用此安装上下文建立连接:1:远程登录:user2:使用密码:passwordh) 确定6)SQL的写法有两种a) 使用T-SQL语法:SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS注意在,SQL查询分析器中输入SQL语句时注意中文的全角半角切换方式!b) 使用PLSQL语法:SELECT * FROM openquery(OraTest,'SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS ')c)第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;第一种访问方式可能会导致一些意外错误,如:该表不存在,或者当前用户没有访问该表的权限等等一些信息。

d)如果需要访问的column中使用没有精度的数据类型,这两种查询方式都可能会报错,这是ORACLE 的BUG,无法修正,只能通过查询语句的特殊处理规避这一问题:OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。

执行时更改了元数据信息。

SQL SERVER 2000 通过链接服务器访问 ORACLE 的快速设定方法1)在SQL_SERVER 2000服务器上安装Oracle 10g的客户端。

假设安装到D:\oracle\ 目录。

如果D:是N TFS分区,需要将ORACLE安装后的目录设为所使用的用户有权可运行、可添加、可删除。

2)配置D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora 文件(手动配置)ORCL_192.168.0.163=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =orl)//此处的orl是HIS给的database))(NetManage工具自动生成的配置)ORCL_192.168.0.163 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SID = orl)//此处的orl是HIS给的database(SERVER = DEDICATED)))3)在DOS模式下运行以下命令以便确认ORA CLE客户端安装无误。

sqlplus user/password@OraLink4)打开开始-控制面板-服务,确认Distributed Transaction Coordinator服务已启动。

5)打开SQL SERVER 企业管理器,实例名称(ORCL_192.168.0.163)-服务器对象(右键)-新建连接服务器。

(如上图)a)链接服务器:写上链接服务器的名字,如:OraTestb) 服务器类型,选择其他数据源c) 访问接口:选择 Microsoft OLE DB Provider for Oracled) 产品名称:写上 Oraclee) 数据源:写上tnsnames.ora 文件中配置的服务名,如:ORCL_192.168.0.163f)访问接口字符串:user id=user;password= passwordg)在选择安全性选项页,使用此安装上下文建立连接:1:远程登录:user2:使用密码:passwordh) 确定6)SQL的写法有两种a) 使用T-SQL语法:SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS注意在,SQL查询分析器中输入SQL语句时注意中文的全角半角切换方式!b) 使用PLSQL语法:SELECT * FROM openquery(OraTest,'SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS ')c)第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;第一种访问方式可能会导致一些意外错误,如:该表不存在,或者当前用户没有访问该表的权限等等一些信息。

d)如果需要访问的column中使用没有精度的数据类型,这两种查询方式都可能会报错,这是ORACLE 的BUG,无法修正,只能通过查询语句的特殊处理规避这一问题:OLE DB 提供程序 'OraOLEDB.Oracle' 为列提供的元数据不一致。

执行时更改了元数据信息。

使用 Oracle 透明网关从oracle 端连Sql Server 数据库一.使用 Oracle 透明网关从oracle 端连Sql Server 数据库Step1 安装oracle 透明网关Condition: 连Sql server 的网关的操作系统必须是window ,因为在网关上还必须得装一个sql sever 的客户端,用于监听sql server 服务器发来的消息。

安装透明网关组件的软件在oracle 安装盘里面,不需要另行下载。

安装方法与步骤:1.启动安装程序以后,选择安装类型为定制2.选择 oracle transparent gateways for Miscrosoft Sql Server ,然后点击下一步,装完即可。

Step 2 安装sql server 客户端(这一步不再演示)Step 3 配置透明网关与Oracle 服务器1. 修改ORACLE_HOME\tg4msql\admin下的inittg4msql.ora 文件,配置好参数其中HS_FDS_CONNECT_INFO=jysc.msdb的jisc代表sql server 的服务名,msdb是需要连接的数据库。

2 配置oracle 服务器的listener修改listener.ora 文件,添加以下参数,作用是使监听器能够监听网关发过来的信息(SID_DESC =(PROGRAM = tg4msql)(ORACLE_HOME = D:\OraHome_1)(SID_NAME = tg4msql))其中SID_NAME 可以自己取名。

3 配置网络服务名tnsnameLKSQL =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = xuchunyang)(PORT = 1521)))(CONNECT_DATA =(SID = tg4msql))(HS = OK))这里的HOST=xuchunyang ,xuchunyang 是透明网关服务器的服务器名,也可以是主机IP 地址,(SID = tg4msql) 的tg4msql不是固定名,需跟上面listener SID_NAME 一致。

一切配置都已经完毕,然后可以创建database link 去连接sql server 数据库了Step 4 创建database link连上oracle 数据库,运行下面的语句,创建database linkcreate database link LKTOSQLconnect to XuChunYang identified by garyxu0120using 'LKSQL';这里 using 'LKSQL'的LKSQL 是网络服务名,跟开始配置的tns name 一致。

现在,我们就可以使用database link 去访问sql server 数据库的数据了。

例如,运行Select * from sysobjects@LKTOSQL where rownum <10建立好链接后,使用trigger 可以使两种不同数据库之间的表数据同步。

二使用Sql Server 链接服务器从Sql server 连oracle 数据库1.要求pc机上安装oralce客户端软件和sqlserver软件。

2.客户端的配置tnsnames.ora文件,配置所要连接的数据库服务器(windows,unix等平台均可以)GARYXU =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.1.67)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME = GARY)))3.配置windows的ODBC数据源:开始菜单—》设置—》管理工具—》数据源(ODBC)—》进入配置用户DSN或者系统DSN均可以:添加—》选择Microsoft ODBC for oracle ——》自定义数据源名称(最好跟tns中连接串同名!)—》服务器名称(必填!填写tns文件中的连接串名称)—》完成。

相关主题