Oracle连接sqlserver与反向连接

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

Oracle与sqlserver透明网关配置编写:陈命群Oracle访问sqlserver透明网关配置说明――编写人:陈命群一.简单业务描述:在现有企业的信息系统中存在着大量的异构数据库,如ORACLE/SQLSERVER等,那么在进行系统之间的数据整合过程中,将不可避免的涉及到异构数据库之间的透明/无逢的数据访问。本文章将结合广钢ERP系统的后台ORACLE数据库与检斤系统的后台SQLSERVER数据库的透明网关的配置和访问。二.简单技术描述:在ORACLE中提供了与其他数据库连接的组件,如与SQLSERVER/DB2等,在安装了组件之后将可以通过配置监听器/数据库连接等来完成数据库之间的访问。其中主要用到:透明网关代理、异类服务(HeterogeneousServices)数据库服务器情况:ORACLE数据库地址:10.1.70.214数据库SID:LTDDBSQLSERVER数据库地址:10.1.70.185数据库名:jjdtest用户名:SA三.具体实现步骤:1.透明网关的安装:注意:(1)透明网关可以不安装在与ORACLE数据库同台机器上,但是因为它是安装数据库的一部分,所以在安装网关的同时将会安装数据库,所以如果不是特殊情况,可以将透明网关安装在数据库服务器上。(2)安装过程中可以同时配置远程数据库的地址和数据库名。Oracle与sqlserver透明网关配置编写:陈命群2.配置网关初始参数文件:注意:(1)透明网关SID:访问异构数据库是一个数据库事例,类似于一个数据库,所以,必须提供一个网关的SID,缺省为:tg4msql。其配置文件将以inisid.ora来命名,存放在%ORACLE_HOME%\tg4msql\admin\下。(2)如果自己指定SID或者配置多个数据库网关可以直接在生成的配置文件中直接修改即可,但是必须遵守inisid.ora的命名原则。(3)配置inisid.ora的参数:HS_FDS_CONNECT_INFO=SQLSERVER_HOSTNAME.DATABASE_NAME.(4)举例:HS_FDS_CONNECT_INFO=SERVER=10.1.70.185;DATABASE=jjdtestHS_FDS_TRACE_LEVEL=OFFHS_FDS_RECOVERY_ACCOUNT=RECOVERHS_FDS_RECOVERY_PWD=RECOVER3.为透明网关配置网络监听器:Oracle与sqlserver透明网关配置编写:陈命群注意:(1)oracle通过tns监听客户端的连接请求,所以tns监听必须与透明网关配置在同一机器上,所以更加需要网关与数据库安装在同一服务器上。(2)tns配置文件的位置:%ORACLE_HOME%\NETWORK\ADMIN\LISTENER.ORA.(3)需要加入参数:SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=GATEWAY_SID)(ORACLE_HOME=ORACLE_HOME_DIRECTORY)(PROGRAM=tg4msql))(4)举例:LISTENER=(DESCRIPTION_LIST=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC0)))(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.70.214)(PORT=1521)))))SID_LIST_LISTENER=(SID_LIST=(SID_DESC=(SID_NAME=tg4msql)(ORACLE_HOME=E:\oracle\ora92)(PROGRAM=tg4msql))(SID_DESC=(GLOBAL_DBNAME=rmdb)(ORACLE_HOME=E:\oracle\ora92)(SID_NAME=rmdb)))(5)如果有多个网关,红字部分继续添加。Oracle与sqlserver透明网关配置编写:陈命群(6)重启gateway的监听,在服务中,重启:oracleoraclehome9itnslistener服务。(凡增加数据库的必须重启)4.配置tnsname.ora配置文件:注意:(1)本配置文件配置的是:oracle数据库与透明网关的透明访问。(2)必须以手工方式修改配置文件。%oracle_home%\network\admin\tnsname.ora(3)参数:connect_descriptor=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=oracle_host_name)(PORT=oracle_port_num)))(CONNECT_DATA=(sid=gateway_sid))(hs=ok))(4)举例:tg4msql=(DESCRIPTION=(ADDRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.70.214)(PORT=1521)))(CONNECT_DATA=(sid=tg4msql))(hs=ok))(5)测试tns:tnspingtg4msql测试成功将返回连接成功ok。5.建立数据库连接:注意:(1)在建立了透明网关的连接后,必须建立数据库与透明网关的数据库连接,以后所有访问远程数据库的连接都将通过数据库连接进行。Oracle与sqlserver透明网关配置编写:陈命群(2)语法:create[public]databaselinkdblikenameconnecttomssql_database_usernameidentifidbypasswordusingconnect_descriptor(3)例子:createpublicdatabaselinkLINKFORMSSQL.US.ORACLE.COMconnecttoSAusing'tg4msql';6.访问异构数据库:例子:select*fromtrn_ggmisjjd@linkformssql;注意:如果指定查询的字段则必须在将字段用“”如:selectphfromtrn_ggmisjjd@linkformssql四.总结:在当前的企业信息化建设过程中,企业原有数据库与新建系统数据库之间的数据交换、数据访问、数据共享将是一个头痛的问题。ORACLE中提供了与多个异构数据库之间的网关,通过这样的网关达到访问异构数据库的目的,将会很好的解决异构数据库共享的问题。SQLServer访问Oracle配置Oracle与sqlserver透明网关配置编写:陈命群1.同样需要作以上配置2.指向Oracle的连接假设Oracle数据库的用户名为test,密码为test,在SQLServer数据库所在服务器上建立的指向Oracle数据库的服务命名为hisorcl.1).在SQLServer的企业管理器中的对象资源管理器中,展开“服务器对象”,在“链接服务器”上右击,选“新建链接服务器”。如下图所示进行配置。Oracle与sqlserver透明网关配置编写:陈命群通过连接查询Oracle数据库中的数据select*fromopenquery(TEST_ORA,'SELECT*FROMBASEMETADATA_DEPARTMENT')使用下面的这个方法会报“……为列提供的元数据不一致……”的错误信息。SELECT*FROMTEST_ORA..TEST.BASEMETADATA_DEPARTMENT通过连接向Oracle中的表插入数据INSERTOPENQUERY(TEST_ORA,'selectDepartmentId,DeptName,DeptCodefromBaseMetaData_Department')Oracle与sqlserver透明网关配置编写:陈命群selectDepartmentId,DeptName,DeptCodefromBaseMetaData_Department

1 / 8
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功