[原创]如何现实Oracle 10g和Sql 2008R2数据库双向访问

关键字:sql server,oracle, link server ,database link, 透明网关,ODBC,hsodbc

 

场景:在实际开发过程中,发现很多系统都是运行在不同的数据库环境上,为了实现数据互相交互,我们通常有几种做法:1 写webservice互相访问,2 通过直接配置database driver,程序代码可以直接访问数据库,3 通过数据库层面配置link server 或db link实现访问数据库。

上面三种方法各有优缺点,根据各自项目的计划和现状选择方案。我主要讲第三钟方法的优缺点,优点:可以实现代码层面无需配置database driver,代码现实保持原来风格;缺点:需要配置数据库层面link,代码实现事务操作可能会有问题。

 

前提:要实现Oracle 10g和Sql 2008R2数据库双向链接访问,必须要完成下面两个技术难点。

1 实现sql 2008R2link server,访问Oracle10g数据库

2 实现 oracle 10gdatabase link,访问sql 2008 r2数据库

 

步骤:

1 实现sql 2008R2的link server,访问Oracle10g数据库

 1.1创建oracle驱动,sqlserver访问oracle,有下图三种方法:A,C都是需要安装Oracle 客户端,相对比较麻烦;本次通过B的方法ODBC访问oracle。

 

 1.2首先要安装Instant Client Setup.exe,然后配置,请看下面链接或网上搜索http://blog.csdn.net/xzknet/article/details/2309463

 1.3安装完成后,请进入C:\Program Files (x86)\Oracle\Instant Client\network\admin,请看下图


 

 1.4打开tnsname.ora文件,配置oracle链接,红框内容。 

 

 1.5 配置ODBC

  A 打开ODBC

  B进入系统DSN(注意:必须是系统DSN)

  C 配置oracle访问,根据1.4 tnsname的设定,点TEST CONNECTION



  D 输入账号密码,点OK,提示链接成功。

 
 1.6 配置Sql server link server

  A 点新建链接服务器常规,选择 ODBC驱动,

  B 驱动链接字符串:Driver={Microsoft ODBC for Oracle};Server=172.16.34.81;Uid=xxx;Pwd=xxx;

猜你喜欢

转载自krystal-0424.iteye.com/blog/2041794
今日推荐