SQL 与oracle数据同步之 链接服务器
2008-09-19 11:42
267 查看
很多时候,大一些的单位都有好几个系统,而这几个系统可能来自己不同的厂商,它们采用的开发技术可能很不一样,底层数据库也很能 有可能是
出于不同的平台,这就造成了同一个企业而在信息数据方面不“同一”,比如员工,部门,办事流程等信息这些是比较常用的基础性信息对企业的
大多数系统来说,都是需要的,而这几个系统之间在交互方面,同步方面就有可能因为数据库平台不一样,系统不一样,而造成信息不够统一,本
文讲的就是一个比较常用的数据库交互(同步)方法--在数据库之间建立链接服务器。相信本文能对你有所帮助。
建立链接服务器到数据之间同步有以下几个步骤:
1、建立链接服务器
2、编写同步的sql
3、创建同步机制
下面就对以上内容做以详细解释:
一、建立链接服务器
建立链接服务器在sql server中有两种方法,一是通过向导,一种是直接写sql语句.
a.通过向导的方法为:把sql management studio打开,服务器对象-->链接服务器-->新建链接服务器,然后打开如下的对话框:
链接服务器中输入一个名称,这个名称可以随便起,访问接口中选择Oracle provider for OLE DB,重要的是把数据源写好就行了.其他的可以不填.这样只要你数据源写对了一般就成功了.
b.通过sql 语句来建立,这个主要有两句话:
sp_addlinkedserver 'ERP_DB', 'Oracle', 'MSDAORA', 'ERP.COM.CN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='ERP_DB',@useself='false',@locallogin='sa',@rmtuser='scott',@rmtpassword='tigger'
其中的ERP_DB就是链接服务器的名称,ERP.com.cn就是oracle的数据源名称.
二.编写同步的sql
这一步很重要,我在开始的时候不是很熟悉,注搞了很久,在此给一个例子,并对它重点说一下:
select name from ERP_DB..SCOTT.EMPLOYEE
其中后面三部分是从链接服务器中选择,ERTDB是链接服务器名称,SCOTT是用户名,EMPLOYEE是表或视图对象,这三部门请记得一定要大写,否则就出错了.执行时候报错.另外你的用户名一定要有访问这个对象的权限,如果没有权限也是不行的.
三.同步机制的建立:
主要是指怎么来同步,什么时候去执行,这就看需要了,你可以把这些同步的SQL做为存储过程,需要同步的时候调用,或者是做成一个作业,定时执行作业,这样就可以使你的数据同步了.
出于不同的平台,这就造成了同一个企业而在信息数据方面不“同一”,比如员工,部门,办事流程等信息这些是比较常用的基础性信息对企业的
大多数系统来说,都是需要的,而这几个系统之间在交互方面,同步方面就有可能因为数据库平台不一样,系统不一样,而造成信息不够统一,本
文讲的就是一个比较常用的数据库交互(同步)方法--在数据库之间建立链接服务器。相信本文能对你有所帮助。
建立链接服务器到数据之间同步有以下几个步骤:
1、建立链接服务器
2、编写同步的sql
3、创建同步机制
下面就对以上内容做以详细解释:
一、建立链接服务器
建立链接服务器在sql server中有两种方法,一是通过向导,一种是直接写sql语句.
a.通过向导的方法为:把sql management studio打开,服务器对象-->链接服务器-->新建链接服务器,然后打开如下的对话框:
链接服务器中输入一个名称,这个名称可以随便起,访问接口中选择Oracle provider for OLE DB,重要的是把数据源写好就行了.其他的可以不填.这样只要你数据源写对了一般就成功了.
b.通过sql 语句来建立,这个主要有两句话:
sp_addlinkedserver 'ERP_DB', 'Oracle', 'MSDAORA', 'ERP.COM.CN'
GO
EXEC sp_addlinkedsrvlogin @rmtsrvname='ERP_DB',@useself='false',@locallogin='sa',@rmtuser='scott',@rmtpassword='tigger'
其中的ERP_DB就是链接服务器的名称,ERP.com.cn就是oracle的数据源名称.
二.编写同步的sql
这一步很重要,我在开始的时候不是很熟悉,注搞了很久,在此给一个例子,并对它重点说一下:
select name from ERP_DB..SCOTT.EMPLOYEE
其中后面三部分是从链接服务器中选择,ERTDB是链接服务器名称,SCOTT是用户名,EMPLOYEE是表或视图对象,这三部门请记得一定要大写,否则就出错了.执行时候报错.另外你的用户名一定要有访问这个对象的权限,如果没有权限也是不行的.
三.同步机制的建立:
主要是指怎么来同步,什么时候去执行,这就看需要了,你可以把这些同步的SQL做为存储过程,需要同步的时候调用,或者是做成一个作业,定时执行作业,这样就可以使你的数据同步了.
相关文章推荐
- SQL Server与Oracle链接服务器 实现数据同步
- SQL Server的链接服务器(MySQL、Oracle、Ms_sql、Access、SYBASE)
- SQL - 不同服务器数据库之间的数据操作/两台数据库异地同步
- sql2005 链接服务器 连接Oracle...
- Oracle 快照及 dblink使用 (两台服务器数据同步)
- SQL_SERVER 2005 通过链接服务器(Linked Server)访问 ORACLE 的方法
- Oracle 快照及 dblink使用 (两台服务器数据同步)
- 通过MS SQL Server 链接服务器访问远程数据[转载]
- 巧用dblink结合oracle快照实现两台服务器的数据同步
- 通过MS SQL Server 链接服务器访问远程数据
- Oracle Copy命令中SQL*Plus的Copy命令操作(在不同的表(同一服务器或是不同服务器)之间复制数据或移动数据)
- 【Vegas原创】Oracle Dblink(链接服务器)创建(Oracle对Oracle的链接)以及SQL对Oracle的互访方法
- sql插入oracle链接的数据
- 如何在 SQL 服务器中设置到 Oracle 的链接服务器并进行故障排除
- sql连oracle链接服务器
- Oracle 快照及 dblink使用 (两台服务器数据同步)
- [转]SQL2008链接服务器数据同步
- [转]SQL2008链接服务器数据同步
- 无法创建链接服务器 "xxx" 的 OLE DB 访问接口 "OraOLEDB.Oracle" 的实例。 (Microsoft SQL Server,错误: 7302)
- 向SQL Server2005里导入数据是出现错误“SQL 错误描述为: 链接服务器 '(null)' 的 OLE DB 访问接口'STREAM' 返回了对列 '[!BulkInsert].field' 无效的数据”