将SQLSERVER中的数据同步到ORACLE中

合集下载
  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_mappings

SELECT*

FROM msdb.dbo.sysdatatypemappings

来查看SQLServer和其他数据库系统的数据类型对应关系。第一个SQL语句是看SQL转Oracle的类型对应,而第二个表则更详细得显示了各个数据库系统的类型对应。根据第一个表和我们的SQLServer中的字段类型我们就可以建立好Oracle表了。

ORACLE bigint NUMBER1931

ORACLE binary BLOB NULL01

ORACLE binary RAW-141

ORACLE bit NUMBER131

ORACLE char CHAR-141

ORACLE char CLOB NULL01

ORACLE char VARCHAR2-141

ORACLE datetime DATE NULL01

ORACLE decimal NUMBER-131

ORACLE double precision FLOAT NULL01

ORACLE float FLOAT NULL01

ORACLE image BLOB NULL01

ORACLE int NUMBER1031

ORACLE money NUMBER1931

ORACLE nchar NCHAR-141

ORACLE nchar NCLOB NULL01

ORACLE ntext NCLOB NULL01

ORACLE numeric NUMBER-131

ORACLE nvarchar NCLOB NULL01

ORACLE nvarchar NVARCHAR2 -141

ORACLE nvarchar(max) NCLOB NULL01

ORACLE real REAL NULL01

ORACLE smalldatetime DATE NULL01

ORACLE smallint NUMBER531

ORACLE smallmoney NUMBER1031

ORACLE sysname NVARCHAR2 12841

ORACLE text CLOB NULL01

ORACLE timestamp RAW841

ORACLE tinyint NUMBER331

ORACLE uniqueidentifier CHAR3841

ORACLE varbinary BLOB NULL01

ORACLE varbinary RAW-141

ORACLE varbinary(max) BLOB NULL01

ORACLE varchar CLOB NULL01

ORACLE varchar VARCHAR2-141

ORACLE varchar(max) CLOB NULL01

ORACLE xml NCLOB NULL01

ORACLE bigint NUMBER1931

ORACLE binary BLOB NULL01

ORACLE binary RAW-141

ORACLE bit NUMBER131

ORACLE char CHAR-141

ORACLE char CLOB NULL01

ORACLE char VARCHAR2-141

ORACLE datetime DATE NULL01

ORACLE decimal NUMBER-131

ORACLE double precision FLOAT NULL01

ORACLE float FLOAT NULL01

ORACLE image BLOB NULL01

ORACLE int NUMBER1031

ORACLE money NUMBER1931

ORACLE nchar CHAR-141

ORACLE nchar CLOB NULL01

ORACLE ntext CLOB NULL01

ORACLE numeric NUMBER-131

ORACLE nvarchar CLOB NULL01

ORACLE nvarchar VARCHAR2-141

ORACLE nvarchar(max) CLOB NULL01

ORACLE real REAL NULL01

ORACLE smalldatetime DATE NULL01

ORACLE smallint NUMBER531

ORACLE smallmoney NUMBER1031

ORACLE sysname VARCHAR212841

ORACLE text CLOB NULL01

ORACLE timestamp RAW841

ORACLE tinyint NUMBER331

ORACLE uniqueidentifier CHAR3841

ORACLE varbinary BLOB NULL01

ORACLE varbinary RAW-141

相关文档
最新文档