将SQLSERVER中的数据同步到ORACLE中

合集下载

dbsyncer sqlserver数据同步原理

dbsyncer sqlserver数据同步原理

DBSyncer是一种专门用于数据同步的工具,它能够实现不同数据库之间的数据同步,包括SQL Server数据库。

在了解DBSyncer如何进行SQL Server数据同步之前,我们需要先了解一些SQL Server数据库的基本知识。

1. SQL Server数据库SQL Server是由微软公司开发的关系型数据库管理系统,它为用户提供了存储、检索和管理数据的功能。

SQL Server数据库以其稳定性、高性能和丰富的功能而被广泛应用于各种企业和组织中。

在数据同步过程中,SQL Server数据库通常扮演着重要的角色。

2. 数据同步原理数据同步是指将两个或多个数据源中的数据进行更新和同步,使它们保持一致性。

在SQL Server数据库中,数据同步通常包括以下几个步骤:2.1 数据抽取数据抽取是指从源数据库中提取需要同步的数据,并将其转换成适合目标数据库的格式。

在SQL Server中,可以使用DBSyncer提供的数据抽取工具来实现数据的抽取。

2.2 数据转换数据转换是指将抽取出的数据进行格式转换和清洗,以便在目标数据库中正确地存储和使用。

DBSyncer提供了丰富的数据转换功能,可以满足不同数据库间数据格式的转换需求。

2.3 数据加载数据加载是指将经过转换的数据加载到目标数据库中,确保数据的完整性和一致性。

DBSyncer的数据加载工具能够快速、高效地将数据加载到SQL Server数据库中。

3. DBSyncer数据同步工具DBSyncer是一种专门用于数据同步的工具,它提供了丰富的功能和灵活的配置选项,可以满足不同数据库间数据同步的需求。

在进行SQL Server数据同步时,DBSyncer可以通过以下步骤实现:3.1 连接源数据库需要在DBSyncer中配置源数据库的连接信息,包括数据库类型、连接位置区域、用户名和密码等。

3.2 配置数据同步任务在连接成功后,可以通过DBSyncer提供的任务配置界面,设置数据同步的规则、映射关系、转换规则等参数,确保数据可以在不同数据库间正确地同步和转换。

数据库实时同步技术解决方案

数据库实时同步技术解决方案

数据库实时同步技术解决方案一、前言随着企业的不断发展,企业信息化的不断深入,企业内部存在着各种各样的异构软、硬件平台,形成了分布式异构数据源。

当企业各应用系统间需要进行数据交流时,其效率及准确性、及时性必然受到影响。

为了便于信息资源的统一管理及综合利用,保障各业务部门的业务需求及协调工作,常常涉及到相关数据库数据实时同步处理。

基于数据库的各类应用系统层出不穷,可能涉及到包括ACCESS、SQLSERVER、ORACLE、DB2、MYSQL等数据库。

目前国内外几家大型的数据库厂商提出的异构数据库复制方案主要有:Oracle的透明网关技术,IBM的CCD表(一致变化数据表)方案,微软公司的出版者/订阅等方案。

但由于上述系统致力于解决异构数据库间复杂的交互操作,过于大而全而且费用较高,并不符合一些中小企业的实际需求。

本文结合企业的实际应用实践经验,根据不同的应用类型,给出了相应的数据库实时同步应用的具体解决方案,主要包括:(1) SQLSERVER 到SQLSERVER 同步方案(2) ORACLE 到SQLSERVER 同步方案(3) ACCESS 到SQLSERVER/ORACLE 同步方案二、异构数据库异构数据库系统是相关的多个数据库系统的集合,可以实现数据的共享和透明访问,每个数据库系统在加入异构数据库系统之前本身就已经存在,拥有自己的DMBS。

异构数据库的各个组成部分具有自身的自治性,实现数据共享的同时,每个数据库系统仍保有自己的应用特性、完整性控制和安全性控制。

异构数据库的异构性主要体现在以下几个方面:1、计算机体系结构的异构各数据库可以分别运行在大型机、小型机、工作站、PC嵌入式系统中。

2、基础操作系统的异构各个数据库系统的基础操作系统可以是Unix、Windows NT、Linux等。

3、DMBS本身的异构可以是同为关系型数据库系统的Oracle、SQL Server等,也可以是不同数据模型的数据库,如关系、模式、层次、网络、面向对象,函数型数据库共同组成一个异构数据库系统。

通过SQLSERVER触发器实现跨库同步

通过SQLSERVER触发器实现跨库同步

有两个服务‎器,分别装‎有两个SQ‎L Ser‎v er A‎,BA‎,B的表结‎构a,b ‎相同A,‎B分别都会‎做一些IN‎S ERT,‎U PDAT‎E,DEL‎E TE操作‎,要求AB‎的数据保持‎一致(即‎A新增一条‎数据,要求‎B也新增,‎A更改一条‎数据,B也‎更改相应的‎)是不是‎可以用触发‎器来实现‎例程/*‎--同步两‎个数据库的‎示例有数‎据srv‎1.库名.‎.auth‎o r有字段‎:id,n‎a me,p‎h one,‎srv2‎.库名..‎a utho‎r有字段:‎i d,na‎m e,te‎l phon‎e,adr‎e ss要‎求:sr‎v1.库名‎..aut‎h or增加‎记录则sr‎v1.库名‎..aut‎h or记录‎增加sr‎v1.库名‎..aut‎h or的p‎h one字‎段更新,则‎s rv1.‎库名..a‎u thor‎对应字段t‎e lpho‎n e更新‎--*/‎--大致的‎处理步骤‎--1.在‎srv1‎上创建连‎接服务器,‎以便在 s‎r v1 中‎操作 sr‎v2,实现‎同步ex‎e c sp‎_addl‎i nked‎s erve‎r 'sr‎v2','‎','SQ‎L OLED‎B','s‎r v2的s‎q l实例名‎或ip'‎e xec ‎s p_ad‎d link‎e dsrv‎l ogin‎'srv‎2','f‎a lse'‎,null‎,'用户名‎','密码‎'go‎--2.在‎srv1‎和 sr‎v2 这两‎台电脑中,‎启动 ms‎d tc(分‎布式事务处‎理服务),‎并且设置为‎自动启动‎我的电脑-‎-控制面板‎--管理工‎具--服务‎--右键‎D istr‎i bute‎d Tra‎n sact‎i on C‎o ordi‎n ator‎--属性-‎-启动--‎并将启动类‎型设置为自‎动启动g‎o--3‎.实现同步‎处理--‎a.在sr‎v1..a‎u thor‎中创建触发‎器,实现数‎据即时同步‎--新增‎同步cr‎e ate ‎t rigg‎e r tr‎_inse‎r t_au‎t hor ‎o n au‎t hor‎f or i‎n sert‎ass‎e t xa‎c t_ab‎o rt o‎nins‎e rt s‎r v2.库‎名.dbo‎.auth‎o r(id‎,name‎,telp‎h one)‎sele‎c t id‎,name‎,telp‎h one ‎f rom ‎i nser‎t edg‎o--修‎改同步c‎r eate‎trig‎g er t‎r_upd‎a te_a‎u thor‎on a‎u thor‎for ‎u pdat‎eas‎s et x‎a ct_a‎b ort ‎o nup‎d ate ‎b set‎name‎=i.na‎m e,te‎l phon‎e=i.t‎e lpho‎n efr‎o m sr‎v2.库名‎.dbo.‎a utho‎r b,i‎n sert‎e d i‎w here‎b.id‎=i.id‎go-‎-删除同步‎crea‎t e tr‎i gger‎tr_d‎e lete‎_auth‎o r on‎auth‎o rfo‎r del‎e tea‎sset‎xact‎_abor‎t on‎d elet‎e bf‎r om s‎r v2.库‎名.dbo‎.auth‎o r b,‎d elet‎e d d‎w here‎b.id‎=d.id‎go-‎-3.实现‎同步处理的‎方法2,定‎时同步-‎-在srv‎1中创建如‎下的同步处‎理存储过程‎crea‎t e pr‎o c p_‎p roce‎s sas‎--更新‎修改过的数‎据upd‎a te b‎set ‎n ame=‎i.nam‎e,tel‎p hone‎=i.te‎l phon‎e fro‎m srv‎2.库名.‎d bo.a‎u thor‎b,au‎t hor ‎iwhe‎r e b.‎i d=i.‎i d an‎d(b.‎n ame<‎>i.na‎m e or‎b.te‎l phon‎e<>i.‎t elph‎o ne)‎--插入新‎增的数据‎i nser‎t srv‎2.库名.‎d bo.a‎u thor‎(id,n‎a me,t‎e lpho‎n e)s‎e lect‎id,n‎a me,t‎e lpho‎n e fr‎o m au‎t hor ‎iwhe‎r e no‎t exi‎s ts(‎s elec‎t * f‎r om s‎r v2.库‎名.dbo‎.auth‎o r wh‎e re i‎d=i.i‎d) --‎删除已经删‎除的数据(‎如果需要的‎话)de‎l ete ‎bfro‎m srv‎2.库名.‎d bo.a‎u thor‎bwh‎e re n‎o t ex‎i sts(‎sele‎c t * ‎f rom ‎a utho‎r whe‎r e id‎=b.id‎)go‎。

sql服务器添加oracle的链接服务器步骤

sql服务器添加oracle的链接服务器步骤

SQL SERVER 2005 通过链接服务器访问 ORACLE 的快速设定方法1)在SQL_SERVER 2005服务器上安装Oracle 10g的客户端。

假设安装到D:\oracle\ 目录。

如果D:是N TFS分区,需要将ORACLE安装后的目录设为所使用的用户有权可运行、可添加、可删除。

2)配置D:\oracle\product\10.2.0\client_1\NETWORK\ADMIN\tnsnames.ora 文件(手动配置)ORCL_192.168.0.163=(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST =192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SERVICE_NAME =orl)//此处的orl是HIS给的database))(NetManage工具自动生成的配置)ORCL_192.168.0.163 =(DESCRIPTION =(ADDRESS_LIST =(ADDRESS = (PROTOCOL = TCP)(HOST = 192.168.0.163)(PORT = 1521)))(CONNECT_DATA =(SID = orl)//此处的orl是HIS给的database(SERVER = DEDICATED)))3)在DOS模式下运行以下命令以便确认ORA CLE客户端安装无误。

sqlplus user/password@ ORCL_192.168.0.1634)打开开始-控制面板-服务,确认Distributed Transaction Coordinator服务已启动。

5)打开SQL SERVER Management Studio,实例名称(ORCL_192.168.0.163)-服务器对象(右键)-新建连接服务器。

a)链接服务器:写上链接服务器的名字,如:OraTestb) 服务器类型,选择其他数据源c) 访问接口:选择 Microsoft OLE DB Provider for Oracled) 产品名称:写上 Oraclee) 数据源:写上tnsnames.ora 文件中配置的服务名,如:ORCL_192.168.0.163f)访问接口字符串:user id=user;password= passwordg)在选择安全性选项页,使用此安装上下文建立连接:1:远程登录:user2:使用密码:passwordh) 确定6)SQL的写法有两种a) 使用T-SQL语法:SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS注意在,SQL查询分析器中输入SQL语句时注意中文的全角半角切换方式!b) 使用PLSQL语法:SELECT * FROM openquery(OraTest,'SELECT * FROM OraTest.ERP.BAS_ITEM_CLASS ')c)第二种访问方式比第一种约快50%;第二种访问方式跟直连ORACLE的速度相当;第一种访问方式可能会导致一些意外错误,如:该表不存在,或者当前用户没有访问该表的权限等等一些信息。

sql server跨库查询oracle语句 -回复

sql server跨库查询oracle语句 -回复

sql server跨库查询oracle语句-回复SQL Server和Oracle是两种不同的关系型数据库管理系统(RDBMS),它们有不同的语法和逻辑。

在数据库开发和管理中,可能会遇到需要在一个数据库中的表中查询另一个数据库中的表的情况,这种情况被称为跨库查询。

本文将详细介绍如何在SQL Server中使用Oracle链接服务器进行跨库查询。

1. 什么是链接服务器?链接服务器(Linked Server)是SQL Server提供的一种功能,它允许我们在SQL Server数据库中访问其他数据库系统,如Oracle。

通过链接服务器,我们可以在SQL Server中直接执行对Oracle数据库的查询,从而实现跨库查询的功能。

2. 创建链接服务器在SQL Server中创建链接服务器是实现跨库查询的第一步。

要创建一个链接服务器,我们需要使用sp_addlinkedserver存储过程。

以下是创建一个链接到Oracle数据库的链接服务器的示例代码:EXEC sp_addlinkedserverserver='OracleServer',provider='OraOLEDB.Oracle',srvproduct='Oracle',datasrc='OracleServerName';在上述代码中,“OracleServer”是链接服务器的名称,可以根据实际需求进行更改。

“OraOLEDB.Oracle”是链接服务器的提供程序,它允许SQL Server与Oracle进行通信。

“OracleServerName”是Oracle数据库的服务器名称。

3. 配置链接服务器的登录信息创建链接服务器后,我们还需要配置链接服务器的登录信息,以便SQL Server可以正确地连接到Oracle数据库。

以下是设置链接服务器登录信息的示例代码:EXEC sp_addlinkedsrvloginrmtsrvname='OracleServer',useself='false',rmtuser='OracleUsername',rmtpassword='OraclePassword';在上述代码中,“OracleServer”是链接服务器的名称,需要与创建链接服务器时指定的名称保持一致。

SQL Server链接服务器访问Oracle

SQL Server链接服务器访问Oracle

SQLServer链接服务器访问Oracle一、测试环境说明操作系统:Windows Server 2008 R2 64位数据库版本:SQLServer 2008 R2 64位和Oracle Database 11g 第 2 版(11.2.0.1.0)及相应的客户端版本:Oracle 11g client 64位。

其中Oracle Database 11g 安装在一台电脑,另一台安装SQL Server 2008 R2 64位和Oracle 11g client 64位。

二、创建SQL Server链接服务首先SQL Server链接Oracle可以通过两个访问接口:“MSDAORA”和“OraOLEDB.Oracle”。

默认状态下,SQL Server 2008 R2 64位安装后在服务器对象->链接服务器->访问接口下并没有“MSDAORA”和“OraOLEDB.Oracle”接口。

安装“MSDAORA”访问接口需要下载Oracle Data Access Components(ODAC)for Windows 的相应64位版本。

安装后重新启动服务器即可以看到“MSDAORA”接口。

因为此接口不支持分布式事务,因此不做过多的描述。

安装“OraOLEDB.Oracle”访问接口需要下载Oracle 11g client 64位。

具体安装过程如下:1)下载后解压zip文件到文件夹,点击setup.exe,弹出如下界面:直接点[是]。

2)弹出如下界面:选择[定制]选项。

点击下一步,弹出如下界面:直接点击下一步,弹出如下界面:选择软件安装的位置后点击下一步,弹出如下界面:在可用产品组件窗口点击[全选]后直接点击下一步,弹出如下窗口:在调度程序代理主机名中输入本机的主机名。

点击下一步,弹出如下界面:在Oracle Services for MTS 中配置端口,这里直接使用默认端口,点击下一步:Oracle Services for Microsoft Transaction ServerOracle Services for MTS 允许客户在MTS 协调事务中使用Oracle 数据库作为资源管理器,从而提供了Oracle 解决方案和MTS 之间的强大集成。

sql server跨库查询oracle语句

sql server跨库查询oracle语句

SQL Server 是微软公司推出的一种关系型数据库管理系统(RDBMS),而 Oracle 则是甲骨文公司的一种商业关系型数据库管理系统。

在实际应用中,有时候需要进行跨库查询,即在 SQL Server 中查询 Oracle 数据库的数据。

本文将介绍如何编写 SQL 语句来实现跨库查询。

1. 连接 Oracle 数据库在 SQL Server 中进行跨库查询,首先需要建立与 Oracle 数据库的连接。

可以通过使用“信息服务器”功能来实现这一步骤。

在 SQL Server Management Studio 中,找到“服务器对象”下的“信息服务器”,右键单击后选择“新建信息服务器”,在弹出的对话框中选择“Oracle Provider for OLE DB”,并填写相应的连接信息,如Oracle 数据库的位置区域、用户名、密码等。

注意要确保 SQL Server 和 Oracle 数据库之间网络畅通,并且有相应的权限。

2. 执行跨库查询连接建立完成后,就可以在 SQL Server 中编写跨库查询的 SQL 语句了。

在执行查询时,可以使用四部分限定名来指定 Oracle 数据库中的表。

如果在 Oracle 数据库中有一个叫做“EMPLOYEE”的表,可以通过以下方式在 SQL Server 中进行查询:```sqlSELECT * FROMOracleServerName.OracleDatabaseName.dbo.EMPLOYEE```其中,“OracleServerName”是在连接服务器时设置的名称,“OracleDatabaseName”是Oracle 数据库的名称,“EMPLOYEE”是要查询的表名。

3. 使用 OPENQUERY 函数另一种执行跨库查询的方法是使用 SQL Server 中的 OPENQUERY 函数。

这个函数可以在 SQL Server 中直接执行一个在远程服务器上的查询。

oracle数据迁移方法

oracle数据迁移方法

oracle数据迁移方法Oracle数据迁移是将现有的Oracle数据库中的数据、表结构以及相关的约束条件等迁移到另一个Oracle数据库中的过程。

在实际的数据迁移中,存在以下几种常见的方法和工具:1.手动数据迁移:手动数据迁移是一种基本的迁移方法,它需要手工编写SQL语句完成数据迁移的操作。

这种方法适用于迁移的数据量较小的情况,迁移过程相对简单。

迁移操作可以分为以下几个步骤:-创建目标数据库-创建目标数据库的表结构,包括表、索引、约束等-导出源数据库中的数据-将导出的数据文件导入到目标数据库中手动数据迁移方法的优点是灵活性高,适用于各种复杂情况下的迁移操作。

但是由于需要手工编写SQL语句,容易出现错误,对于数据量较大的迁移任务来说,效率较低。

2. Oracle迁移工具:Oracle官方提供了多个数据迁移工具,如Oracle Data Pump和Oracle GoldenGate等。

- Oracle Data Pump是一个用于高效迁移数据和元数据的工具。

它支持全库导出和导入,可以将源数据库中的数据、表结构、存储过程等导出为二进制文件,然后通过网络或者直接复制文件的方式导入到目标数据库中。

Oracle Data Pump在迁移时可以进行数据过滤、表空间映射等操作,可以对数据进行压缩和加密等处理。

- Oracle GoldenGate是一个实时数据复制和数据同步工具,它可以在源数据库和目标数据库之间实时同步数据,保证两个数据库的数据一致性。

GoldenGate可以进行额外的数据转换和过滤操作,支持多种复杂的迁移场景,如异构数据库迁移、分布式迁移等。

3.第三方迁移工具:除了Oracle官方提供的工具,还有一些第三方的数据迁移工具,如TOAD、SQL Developer等。

这些工具提供了可视化的操作界面,可以简化迁移操作的过程,提高效率。

-TOAD是一款功能强大的数据库管理工具,具有数据导入导出、数据比较、数据同步等功能。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

如何将SQLServer2005中的数据同步到Oracle中有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他其他系统来读取这些数据。

不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。

假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。

1.在Oracle中建立对应的contract 和contract_project表,需要同步哪些字段我们就建那些字段到O racle表中。

这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行:SELECT*FROM msdb.dbo.MSdatatype_mappingsSELECT*FROM msdb.dbo.sysdatatypemappings来查看SQLServer和其他数据库系统的数据类型对应关系。

第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。

根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。

ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar NCHAR-141ORACLE nchar NCLOB NULL01ORACLE ntext NCLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar NCLOB NULL01ORACLE nvarchar NVARCHAR2 -141ORACLE nvarchar(max) NCLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname NVARCHAR2 12841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml NCLOB NULL01ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar CHAR-141ORACLE nchar CLOB NULL01ORACLE ntext CLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar CLOB NULL01ORACLE nvarchar VARCHAR2-141ORACLE nvarchar(max) CLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname VARCHAR212841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml CLOB NULL01ORACLE bigint NUMBER1931ORACLE binary BLOB NULL01ORACLE binary RAW-141ORACLE bit NUMBER131ORACLE char CHAR-141ORACLE char CLOB NULL01ORACLE char VARCHAR2-141ORACLE datetime DATE NULL01ORACLE decimal NUMBER-131ORACLE double precision FLOAT NULL01ORACLE float FLOAT NULL01ORACLE image BLOB NULL01ORACLE int NUMBER1031ORACLE money NUMBER1931ORACLE nchar NCHAR-141ORACLE nchar NCLOB NULL01ORACLE ntext NCLOB NULL01ORACLE numeric NUMBER-131ORACLE nvarchar NCLOB NULL01ORACLE nvarchar NVARCHAR2 -141ORACLE nvarchar(max) NCLOB NULL01ORACLE real REAL NULL01ORACLE smalldatetime DATE NULL01ORACLE smallint NUMBER531ORACLE smallmoney NUMBER1031ORACLE sysname NVARCHAR2 12841ORACLE text CLOB NULL01ORACLE timestamp RAW841ORACLE tinyint NUMBER331ORACLE uniqueidentifier CHAR3841ORACLE varbinary BLOB NULL01ORACLE varbinary RAW-141ORACLE varbinary(max) BLOB NULL01ORACLE varchar CLOB NULL01ORACLE varchar VARCHAR2-141ORACLE varchar(max) CLOB NULL01ORACLE xml NCLOB NULL012.建立链接服务器。

我们将Oracle系统作为SQLServer的链接服务器加入到SQLServer中。

具体做法参见我以前的文章/studyzy/archive/2006/12/08/690307.htm l SqlServer下数据库链接的使用方法有时候我们希望在一个sqlserver下访问另一个sqlserver数据库上的数据,或者访问其他oracle数据库上的数据,要想完成这些操作,我们首要的是创建数据库链接。

数据库链接能够让本地的一个sqlserver登录用户映射到远程的一个数据库服务器上,并且像操作本地数据库一样。

那么怎么创建数据库链接呢?我现在有两种方法可以实现。

第一种:在sqlserver企业管理器中,建立,这个比较简单的,首先在"服务器对象"节点下的“数据库链接”节点上点右键,在出现的菜单中点“新建数据库链接”,然后会弹出一个界面,需要我们填写的有:链接服务器(这是一个名字,自己根据情况自行定义,以后就要通过他进行远程访问了),提供程序名称(这个就是选择数据驱动,根据数据库类型来选择,不能乱选,否则链接不上的),数据源(对于sqlserver就是远程数据库服务器的主机名或者IP,对于oracle就是在oracle net config 中配置的别名),安全上下文用户和口令(也就是远程服务器的用户和口令)。

第二种:利用系统存储过程创建一个sqlserver对sqlserver的数据库链接:exec sp_addlinkedserver 'link_northsnow','','SQLOLEDB','远程服务器主机名或域名或ip地址' exec sp_addlinkedsrvlogin 'link_northsnow','false',null,'用户名','用户口令' 创建一个sqlserver对Oracle的数据库链接:exec sp_addlinkedserver 'link_ora', 'Oracle', 'MSDAORA', 'oracle数据库服务器别名'exec sp_addlinkedsrvlogin 'link_ora', false, 'sa', '用户名', '用户口令'有了数据库链接我们就可以使用了。

相关文档
最新文档