当前位置:首页 > 全部子站 > IT > Oracle

SQLServer2005中的数据同步到Oracle中

来源:长理培训发布时间:2017-08-17 10:45:13

 有时由于项目开发的需要,必须将SQLServer2005中的某些表同步到Oracle数据库中,由其他系统来读取这些数据。不同数据库类型之间的数据同步我们可以使用链接服务器和SQLAgent来实现。假设我们这边(SQLServer2005)有一个合同管理系统,其中有表contract 和contract_project是需要同步到一个MIS系统中的(Oracle9i)那么,我们可以按照以下几步实现数据库的同步。

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

  这里需要注意的是Oracle的数据类型和SQLServer的数据类型是不一样的,那么他们之间是什么样的关系拉?我们可以在SQLServer下运行

  SELECT *

  FROM msdb.dbo.MSdatatype_mappings

  SELECT *

  FROM msdb.dbo.sysdatatypemappings

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

  MSdatatype_mappings 视图将 SQL Server 数据类型映射到非 SQL Server 数据库管理系统 (DBMS) 使用的数据类型。该表存储在 msdb 数据库中。

列名 数据类型 说明

dbms_name

nvarchar(128)

是 DBMS 的名称,可以是下列值之一

sql_type

nvarchar(128)

是 SQL Server 数据类型。

dest_type

nvarchar(128)

非 SQL Server 数据类型的名称。

dest_prec

bigint

非 SQL Server 数据类型的精度。

dest_create_params

int

仅供内部使用。

dest_nullable

bit

指示非 SQL Server 数据类型是否支持空值。

  以下是引用片段

  ORACLE bigint NUMBER 19 3 1

  ORACLE binary BLOB NULL 0 1

  ORACLE binary RAW -1 4 1

  ORACLE bit NUMBER 1 3 1

  ORACLE char CHAR -1 4 1

  ORACLE char CLOB NULL 0 1

  ORACLE char VARCHAR2 -1 4 1

  ORACLE datetime DATE NULL 0 1

  ORACLE decimal NUMBER -1 3 1

  ORACLE double precision FLOAT NULL 0 1

  ORACLE float FLOAT NULL 0 1

  ORACLE image BLOB NULL 0 1

  ORACLE int NUMBER 10 3 1

  ORACLE money NUMBER 19 3 1

  ORACLE nchar NCHAR -1 4 1

  ORACLE nchar NCLOB NULL 0 1

  ORACLE ntext NCLOB NULL 0 1

  ORACLE numeric NUMBER -1 3 1

  ORACLE nvarchar NCLOB NULL 0 1

  ORACLE nvarchar NVARCHAR2 -1 4 1

责编:罗莉

发表评论(共0条评论)
请自觉遵守互联网相关政策法规,评论内容只代表网友观点,发表审核后显示!

国家电网校园招聘考试直播课程通关班

  • 讲师:刘萍萍 / 谢楠
  • 课时:160h
  • 价格 4580

特色双名师解密新课程高频考点,送国家电网教材讲义,助力一次通关

配套通关班送国网在线题库一套

课程专业名称
讲师
课时
查看课程

国家电网招聘考试录播视频课程

  • 讲师:崔莹莹 / 刘萍萍
  • 课时:180h
  • 价格 3580

特色解密新课程高频考点,免费学习,助力一次通关

配套全套国网视频课程免费学习

课程专业名称
讲师
课时
查看课程
在线题库
面授课程更多>>
图书商城更多>>
在线报名
  • 报考专业:
    *(必填)
  • 姓名:
    *(必填)
  • 手机号码:
    *(必填)
返回顶部