Oracle通过dblink直接访问Sqlserver
程序员文章站
2022-11-18 09:15:49
Oracle通过dblink直接访问Sqlserver
需求:通过在oracle创建dblink的方式直接访问Sqlserver数据库
操作方式:利用Oracle组件,透明网关...
Oracle通过dblink直接访问Sqlserver
需求:通过在oracle创建dblink的方式直接访问Sqlserver数据库操作方式:利用Oracle组件,透明网关(Transparent Gateway),建立dblink ,访问SQL SERVER 1.首先在官网上先下载个透明网关。网址(11g): https://www.oracle.com/technetwork/database/enterprise-edition/downloads/index.html
2.将gateway安装在Oracle相同的目录下: [透明网关目录:D:\app\HIS_LK\product\11.2.0\tg_1\] [Oracle目录:D:\app\HIS_LK\product\11.2.0\dbhome_1] 安装完Gateway软件后,在ORACLE_HOME目录下有一下dg4msql的目录, 在dg4msql/admin目录下有一个initdg4msql.ora的文件,修改首行: HS_FDS_CONNECT_INFO=192.168.0.164:1433//MSSQLSERVER/A (修改内容为Sqlserver的服务器IP,实例,数据库名)
3.修改Oracle监听文件 编辑%ORACLE_HOME%\network\admin\listener.ora 文件分成两部分:SID_LIST_LISTENER和LISTENER SID_LIST_LISTENER为监听SID的清单,LISTENER为监听主机的信息(IP地址和端口号的设定) -------------------------------------------------------------------- LISTENER = (ADDRESS_LIST= (ADDRESS(PROTOCOL=TCP)(HOST=PC201503031320)(PORT=1521)) (ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)) ) --添加gateway的监听 SID_LIST_LISTENER = (SID_LIST = (SID_DESC = (SID_NAME = dg4msql) (ORACLE_HOME = D:\app\oracle\product\11.2.0\dbhome_1) --gateway安装路径 (PROGRAM = dg4msql) ----此处PROGRAM对应TNSNAMES中的dg4msql ) ) -------------------------------------------------------- 配置完以上,重新启动监听应该可以看到相应的服务名,在cmd里面输入:lsnrctl status
4.配置TNS文件 修改Oracle主目录下network\admin目录下的tnsnames.ora dg4msql = ---同上对应 (DESCRIPTION= (ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.190)(PORT=1521)) (CONNECT_DATA=(SID=dg4msql)) (HS=OK) ) 配置tns文件,在命令行窗口执行tnsping dg4msql测试是否连通
5. 创建dblink create database link dg4msql connect to "sa" identified by "Ugsg1234" using 'dg4msql' ;
在Oracle中,直接查询Sqlserver中的表即可: select * from DIM_GHKS@dg4msql;
以上,可以实现在Oracle中直接访问Sqlserver数据库,但是表字段类型不兼容的情况下,还是会显示乱码,如果要直接操作数据交换,需要考虑字段类型兼容转换问题。
推荐阅读
-
Oracle10g通过DBLink访问MySQL示例
-
Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
-
通过创建SQLServer 2005到 Oracle10g 的链接服务器实现异构数据库数据转换方案
-
Oracle通过dblink直接访问Sqlserver
-
Oracle透明网关访问SQLServer数据库
-
oracle数据库的同义词Synonym与dblink关联,从而可以直接查询远程数据库的表,不用指定用户和@指定dblink名称
-
关于通过ip或者域名直接访问工程的问题
-
防止恶意解析,禁止通过IP直接访问网站
-
Oracle数据库通过DBLINK实现远程访问
-
Oracle10g通过DBLink访问MySQL示例