SQL Server 2008-LinkServer操作ORACLE
链接来源:https://www.cnblogs.com/wangyong/p/Oracle.html
最近项目有需求需要通过SQL Server2008中的数据自动更新到ORACLE中,其实,一开始肯定会想到触发器,因为可以保证实时性。
方案一:
首先,我很确定的一件事情就是MSSQL中的存储过程和触发器可以调用C#编写的dll文件,所以最开始的想法就是在SQL Server中创建表的触发器,然后调用客户端的同步程序(C#, C++,JAVA编写的小程序),这样,可以在客户端程序完成连接Oracle数据库和向里面插入的功能,这种方式虽然可以实现;
基本思路如下:MSSQL触发器==》客户端同步程序==》Oracle CRUD.
这种思路的类似实现方式在几年前的一个项目中使用过,运行效果不错,可以满足客户端获取数据的实时性和高效性。
方案二:
这次主要讨论这种方案,毕竟,总是要尝试新东西(对我来说这种方式目前还没运用到项目中)
首先我在电脑上安装了SQL Server2008 R2 以及Oracle11g,以及PL/SQL Developer,然后接下来操作我用截图进行展示:
第一步:测试oracle的安装是否正确,用 pl/sql developer进行连接,以及创建一张表,默认插入一条数据





第二步:oracle的数据表准备好后,开始SQL Server 2008 R2端创建LINKED SERVER



可以看到,oracle中的一条数据,在SQL SERVER2008 R2端可以查询到,接下来,继续看看insert、update、delete语句的使用语法


完成Insert、update操作后,在PL/SQL developer 中查询下表中的数据,验证下是否操作成功(结果显示是成功的)。

最后,来个删除操作,仔细看下截图中两个不同的删除语法,是不是可以得到一点启发...


一个简单的介绍,结合触发器获取可以实现一些很不错的功能~~~
补充一点:如果是电脑上没有安装oracle,利用SQL Server2008建立链接的时候会发现找不到oraOLEDB.Oracle这个接口,如果是64位的系统,需要安装64位的oracle客户端即可,下载地址:http://www.oracle.com/technetwork/database/enterprise-edition/downloads/112010-win64soft-094461.html ,因为我使用的是Oracle11g,所以下载的是win64_11gR2_client,当然,你安装完后,如果你想利用pl/sql developer来建立连接,想必是不行的(plsql developer需要32未的oci.dll),所以可以再复制一个32位的oracle 客户端来帮助你建立连接....
还有,如果在64位的电脑上直接安装32位的oracle客户端,你会发现plsql developer虽然可以正常连接,但是在SQL Server2008的访问接口中找不到oraOLEDB.Oracle,所以一定要注意版本问题!!!
所以,如果你的64位电脑重来没装过oracle的产品,只有Miscrosoft SQL Server2008 ,建议的步骤是:1)安装64位oracle客户端(选择管理员安装模式);2)有时可能需要重启电脑。
SQL Server 2008-LinkServer操作ORACLE的更多相关文章
- SQL Server 2008 R2 链接 Oracle 10g
首先sqlserver 链接oracle可以通过两个访问接口: “MSDAORA” 和“OraOLEDB.Oracle” 1.“MSDAORA”访问接口是由Microsoft OLE DB Provi ...
- SQL Server 2008 R2 链接 Oracle
参考网站: SP_addlinkedserver 小结 (oracle,sql server,access,excel) 64位SqlServer通过链接服务器与32位oracle通讯 SQL Ser ...
- [C#对sql操作]C#对sql server 2008数据库操作
using System.Data; using System.Data.SqlClient SqlConnection conn = new SqlConnection(System.Configu ...
- 使用Oracle Sql Developer将SQL SERVER 2008数据库移植到Oracle 11g
ORACLE官方提供的Sql Developer自带的Oracle Migration Workbench. 什么是Oracle SQL Developer?在官方页面上,是这样介绍它的: Oracl ...
- SQL Server 2008通过LinkServer操作ORACLE
时光荏苒~~ 最近项目有需求需要通过SQL Server2008中的数据自动更新到ORACLE中,其实,一开始肯定会想到触发器,因为可以保证实时性. 方案一: 首先,我很确定的一件事情就是MSSQL中 ...
- SQL Server 2008创建oracle链接服务器(心得)
操作系统是32位的情况下,曾经没费太多时间创建好了到oracle的链接服务器.主要要点就是: 1.安装oracle精简客户端.当时我用的是版本比较低的“oracle9i310-客户端简化版”,安装好了 ...
- SQL SERVER 2008向ORACLE 11G迁移示例
来源于:http://www.cnblogs.com/hiizsk/ 由SQL SERVER 2008向ORACLE 11G迁移过程记录之一-表 使用Oracle Sql Developer将SQL ...
- PHP操作SQL Server 2008/2012
PHP操作SQL Server驱动,微软官方提供2个版本,Version 2.0 和 Version 3.0 Version 2.0 版本支持的操作系统有: Windows Server 2003 S ...
- sql server 2008 r2 中的oracle发布使用笔记
sql server 2008 r2 中的oracle发布功能,能够将oracle数据库作为发布服务器,将oracle中的数据自动同步到sql server 数据库中,在新建oracle发布前确保sq ...
- 唐伯猫的 sql server 2008 的安装和操作记录
在服务器win 2008 server r2 上安装sql 首先下载sql server 2008 ,云盘有存储sql,很多论坛也有下载SQLEXPRADV_x64_CHS.exe 双击sql s ...
随机推荐
- 【C语言】这种求结构体成员大小的方法,你可能需要了解一下~
在C语言编程中,有时候需要知道某结构体中某成员的大小,比如使用堆内存来存储结构体中的某成员时,需要知道该成员的大小,才好确定所需申请的空间大小.求某结构体中某成员的大小,你会怎么做? 例子: type ...
- 【线段树】BZOJ 5334 数学计算
题目内容 小豆现在有一个数\(x\),初始值为\(1\).小豆有\(Q\)次操作,操作有两种类型: 1 m:\(x=x×m\),输出\(x\ mod\ M\): 2 pos:\(x=x/\)第\(po ...
- spring boot:使用log4j2做异步日志打印(spring boot 2.3.1)
一,为什么要使用log4j2? log4j2是log4j的升级版, 升级后更有优势: 性能更强/吞吐量大/支持异步 功能扩展/支持插件/支持自定义级别等 这些优 ...
- linux(CentOS7)_离线_mysql安装
注意:本文系统环境 CentOS 7.7 64位 MySQL Community Server 5.7.32 一丶卸载CentOS7系统中默认的数据库mariadb 原因一:ps原作者的话介绍下背景: ...
- Nginx的正向代理-反向代理-负载均衡
正向代理与反向代理[总结] 1.前言 最近工作中用到反向代理,发现网络代理的玩法还真不少,网络背后有很多需要去学习.而在此之前仅仅使用了过代理软件,曾经为了访问google,使用了代理软件,需 ...
- Python使用psycopg2模块操作PostgreSQL
https://blog.csdn.net/pcent/article/details/78643611
- Java面试题集(二)list与Map相关知识(1.2)
前言: 在平常的写java程序中,常用除了8种常用数据类型,String对象外,还有集合类,例如ArrayList,HashMap等,这些最常用. 一.List接口 List接口为Collection ...
- Luogu P4247 [清华集训2012]序列操作
题意 给定一个长度为 \(n\) 的序列 \(a\) 和 \(q\) 次操作,每次操作形如以下三种: I a b c,表示将 \([a,b]\) 内的元素加 \(c\). R a b,表示将 \([a ...
- STM32入门系列-开发工具keil5安装
主要介绍如下三部分内容: keil5软件获取 keil5安装 安装STM32芯片包 软件获取 可以通过搜索引擎搜索关键字"KEIL5下载",找到其官方网站www.keil.com. ...
- Java线程知识拾遗
知识回顾 进程与线程是常常被提到的两个概念.进程拥有独立的代码段.数据空间,线程共享代码段和数据空间,但有独立的栈空间.线程是操作系统调度的最小单位,通常一个进程会包含一个或多个线程.多线程和多进程都 ...