电话:0731-83595998
导航

SQLServer2005中的数据同步到Oracle中

来源: 2017-08-17 10:45

 有时由于项目开发的需要,必须将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

编辑推荐:

下载Word文档

温馨提示:因考试政策、内容不断变化与调整,长理培训网站提供的以上信息仅供参考,如有异议,请考生以权威部门公布的内容为准! (责任编辑:长理培训)

网络课程 新人注册送三重礼

已有 22658 名学员学习以下课程通过考试

网友评论(共0条评论)

请自觉遵守互联网相关政策法规,评论内容只代表网友观点!

最新评论

点击加载更多评论>>

精品课程

更多
10781人学习

免费试听更多

相关推荐
图书更多+
  • 电网书籍
  • 财会书籍
  • 其它工学书籍
拼团课程更多+
  • 电气拼团课程
  • 财会拼团课程
  • 其它工学拼团
热门排行

长理培训客户端 资讯,试题,视频一手掌握

去 App Store 免费下载 iOS 客户端