Oracle Gateways透明网关访问SQL Server
自己的本机安装了Oracle 12c,公司的平台需要同时支持Oracle与SQL Server,很多时候都有将数据从Oracle同步到SQL Server的需求。通过SQL Server的link Server可以达到目的,但是因为SQL Server都是64位版本,试过很多次都失败了。再安装32位SQL Server也懒得折腾。
因Oracle是12c, 安装的Gateways也是12c。尝试过在Oracle数据库服务器(本机)安装11g的gateways, 但是配置都失败了。
Oracle Gateways 12c的下载地址也在Oracle Database 12c的下载页。找到与自己数据库版本的对应的Gateways。
安装前,设置了一下环境变量ORACLE_HOME,我的是:C:\oracle\product\12.1.0\dbhome_1
安装时,选择自己需要访问的数据库,这里是SQL Server.这里将Gateways安装到了与Oracle数据库软件相同的目录。
安装过程:


配置是重点。网上找到的都是10g的配置。12c的目录名称与10g的稍有区别:
listener.ora
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:C:\oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
(SID_DESC =
(SID_NAME = dg4msql)
(ORACLE_HOME = C:\oracle\product\12.1.0\dbhome_1)
(PROGRAM = dg4msql)
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = IPC)(KEY = EXTPROC1521))
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
)
)
在tnsnames.ora添加以下内容:
dg4msql =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SID = dg4msql)
)
(HS = OK)
)
在ORACLE_HOME/dg4msql/admin/initdg4msql.ora
确认文件initdg4msql.ora中有以下内容():
HS_FDS_CONNECT_INFO=server name,port number//database name
HS_FDS_TRACE_LEVEL=OFF
HS_FDS_RECOVERY_ACCOUNT=RECOVER
HS_FDS_RECOVERY_PWD=RECOVER
创建一个DB Link:
create public database link MS_LINK
connect to sa identified by password
using 'dg4msql';
重启监听。
使用select * from table@ms_link的形式访问SQL Server表。不可以直接使用insert into table@ms_link select * from table向SQL Server表插入数据。错误提示是源表与目标表都应在同一个数据库。
我的解决方法是使用一段匿名脚本一次一条数据。不知道有没有更好的办法。
至此,已经可以成功在Oracle数据库中访问SQL Server的数据了。
FROM: http://blog.itpub.net/8520577/viewspace-1066213/
Oracle Gateways透明网关访问SQL Server的更多相关文章
- ORACLE透明网关访问SQL Server配置总结
透明网关概念 ORACLE透明网关(Oracle Transparent Gateway)可以解决ORACLE数据库和非ORACLE数据库交互数据的需求.在一个异构的分布式环境中,通过ORACLE ...
- 在oracle中通过链接服务器(dblink)访问sql server
在oracle中通过链接服务器(dblink)访问sql server 2013-10-16 一. 工作环境: <1> Oracle数据库版本:Oracle 11g 运行环境 :IB ...
- 使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务
使用 Oracle GoldenGate 在 Microsoft SQL Server 和 Oracle Database 之间复制事务 作者:Nikolay Manchev 分步构建一个跨这些平台的 ...
- Oracle导数据到SQL server的方法总结
通过oracle10g 访问sql server 2008 导数据步骤 最近在项目中遇到要将Oracle数据库的数据导入到SQL server数据库中,解决办法如下: 一.准备工作 配置Oracle ...
- oracle、MySQL、SQL Server的比较
MySql的优点:1 MYSQL支持5000万条记录的数据仓库(3.x版本就支持了) 2 MYSQL适应所有平台 . 3 MYSQL是开源软件,开源的东西似乎总是比较实在一点,不会有太多商业化的考虑. ...
- .NET跨平台之旅:升级至ASP.NET 5 RC1,Linux上访问SQL Server数据库
今天微软正式发布了ASP.NET 5 RC1(详见Announcing ASP.NET 5 Release Candidate 1),.NET跨平台迈出了关键一步. 紧跟这次RC1的发布,我们成功地将 ...
- ODBC database driver for Go:Go语言通过ODBC 访问SQL server
Go语言通过ODBC 访问SQL server,这里需要用到go-odbc库,开源地址::https://github.com/weigj/go-odbc 一.驱动安装 在cmd中打开GOPATH: ...
- EF 数据库连接字符串-集成安全性访问 SQL Server
使用 Windows 集成安全性访问 SQL Server 如果您的应用程序运行在基于 Windows 的 Intranet 上,则也许可以将 Windows 集成身份验证用于数据库访问.集成安全性使 ...
- ADO.NET访问SQL Server调用存储过程带回参
1,ADO.NET访问SQL Server调用存储过程带回参 2,DatabaseDesign use northwind go --存储过程1 --插入一条商品 productname=芹菜 un ...
随机推荐
- .NET中如何使用反序列化JSON字符串/序列化泛型对象toJsonStr
在进行 .NET Web MVC 框架开发的网站程序的时候,我们都会遇到最关键的问题,数据传输. .NET MVC 4中的ControllerBase类建议我们用ViewBag动态数据字典形式(t ...
- startDiscovery() and startLeScan().
You have to start a scan for Classic Bluetooth devices with startDiscovery() and a scan for Bluetoot ...
- bnuoj 25659 A Famous City (单调栈)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=25659 #include <iostream> #include <stdio.h ...
- C#之多态
多态是面向对象编程中三大机制之一,其原理建立在"从父类继承而来的子类可以转换为其父类"这个规则之上,换句话说,能用父类的地方,就能用该类的子类.当从父类派生了很多子类时,由于每个子 ...
- [resource]23个python的机器学习包
23个python的机器学习包,从常见的scikit-learn, pylearn2,经典的matlab替代orange, 到最新最酷的Theano(深度学习)和torch 7 (well,其实lua ...
- Jenkins入门-转
reference : http://www.cnblogs.com/itech/archive/2011/11/23/2260009.html 在网上貌似没有找到Jenkins的中文的太多的文档,有 ...
- Codeforces Round #130 (Div. 2) A. Dubstep
题目链接: http://codeforces.com/problemset/problem/208/A A. Dubstep time limit per test:2 secondsmemory ...
- BZOJ 1143: [CTSC2008]祭祀river 最大独立集
题目链接: http://www.lydsy.com/JudgeOnline/problem.php?id=1143 题解: 给你一个DAG,求最大的顶点集,使得任意两个顶点之间不可达. 把每个顶点v ...
- HTTP 错误 403.14 - Forbidden
在打开一个网站时,显示HTTP 错误 403.14 - Forbidden 是一件很不幸的事情.我这几天打开某网站就出现了这个问题.Web 服务器被配置为不列出此目录的内容,错误代码0x0000000 ...
- setblendstate & setdepthstencilstate
http://msdn.microsoft.com/en-us/library/windows/desktop/ff476462(v=vs.85).aspx blendstate blendfacto ...