`
solid210
  • 浏览: 53416 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

从SqlServer 2K移植到Oracle 10g中的简要总结

阅读更多

公司有一个系统是基于SqlServer 2k,现在,应客户要求,移植到Oracle 10g数据库。代码的扩展极其easy,三下五除二,搞定。就是在将数据从SqlServer 2k导入到Oracle 10g数据库中时出现了一些问题。刚开始采用的方案是把表结构和数据导入到Sql脚本中,然后在Oracle数据库中执行Sql脚本。这个过程涉及到数据 库字段类型的转换问题,容易出错。后来采用使用SqlServer 2k的DTS 将数据从SqlServer中导入到Oracle 10g中。工作就这么搞定了,为了方便以后数据类型的转换,方便以后做针对不同数据库的Sql脚本,我把SqlServer 2k和Oracle 10g大部分数据类型都做了一下测试,当然现在只有SqlServer 2k和Oracle 10g数据对应关系。不对应关系如下:

SqlServer 2k转换为Oracle 10g

列名 SqlServer数据类型 SqlServer长度 Oracle数据类型
column1 bigint 8     NUMBER(19)
column2 binary 50     RAW(50)
column3 bit 1     NUMBER(2)
column4 char 10     CHAR(10)
column5 datetime 8     DATE
column6 decimal 9     NUMBER(18)
column7 float 8 BINARY_DOUBLE
column8 image 16     BLOB
column9 int 4     NUMBER(10)
column10 money 8 NUMBER(19,4)
column11 nchar 10 NCHAR(10)
column12 ntext 16 NCLOB
column13 numeric 9 NUMBER(18)
column14 nvarchar 50 NVARCHAR2(50)
column15 real 4 BINARY_FLOAT
column16 smalldatetime 4 DATE
column17 smallint 2 NUMBER(5)
column18 smallmoney 4 NUMBER(10,4)
column19 sql_variant   BLOB
column20 text 16 CLOB
column21 timestamp 8 RAW(8)
column22 tinyint 1 NUMBER(3)
column23 uniqueidentifier 16 BLOB
column24 varbinary 50 RAW(50)
column25 varchar 50 VARCHAR2(50)


Oracle 10g 转换为SqlServer 2k

Oracle列名 Oracle数据类型 SqlServer列名 SqlServer数据类型 SqlServer数据长度
COLUMN1 BINARY_DOUBLE COLUMN1 float 8
COLUMN2 BINARY_FLOAT COLUMN2 real 4
COLUMN3 BLOB COLUMN3 image 16
COLUMN4 CLOB COLUMN4 ntext 16
COLUMN5 CHAR(10) COLUMN5 nchar 10
COLUMN6 DATE COLUMN6 datetime 8
COLUMN12 NUMBER COLUMN12 numeric 13
COLUMN13 NVARCHAR2(10) COLUMN13 nvarchar 10
COLUMN14 RAW(10) COLUMN14 varbinary 10
COLUMN15 TIMESTAMP(6) COLUMN15 datetime 8
COLUMN16 TIMESTAMP(6) WITH LOCAL TIME ZONE COLUMN16 datetime 8
COLUMN17 TIMESTAMP(6) WITH TIME ZONE COLUMN17 datetime 8
COLUMN18 VARCHAR2(10) COLUMN18 nvarchar 10
COLUMN7 INTERVAL DAY(2) TO SECOND(6) COLUMN7 nvarchar 30
COLUMN8 INTERVAL YEAR(2) TO MONTH COLUMN8 nvarchar 14
COLUMN9 LONG COLUMN9 ntext 16
COLUMN10 LONG RAW COLUMN10 image 16
COLUMN11 NCLOB COLUMN11 ntext 16

     我们在做数据库移植设计的时候,完全DIY,可以考虑设计可扩展组件完成这种数据库表、列等对应关系的转换工作,那么以后再做系统移植中数据导入时就一劳永逸了。现在也没有时间做这种工作,不过感觉这还是挺有意义的一项工作。

    在转换过程中,出现了另一个问题,就是如果SqlServer 2k 中的表名含有小写,那么在导入到Oracle 10g后,需要修改表名,否则Sql语句会执行失败。(导入后表名多了引号) 比如SqlServer 2k有一个表test,导入到Oracle 10g后显示的表名仍然为test,但是如果你要查询test表中的数据时,按照正常情况下,你只用输入select * from test即可,可是现在却变成select * from "test"。通过Oracle 10g的维护系统进入修改表名时,表名显示为带有引号的-"test"。出现这个问题,因为表不是很多,所以我们将SqlServer 2k的表名都改为了大写,或者在Oracle中将表名改为大写,就ok了,需要注意这些细节。Oracle 10g导入到SqlServer 2k中没有出现问题。

分享到:
评论

相关推荐

    sqlserver2005移植到oracle数据库移植报告

    标题所述的"sqlserver2005移植到oracle数据库移植报告"主要涉及的是将SQL Server 2005中的数据迁移到Oracle数据库的过程和技术。在描述中提到了两种数据库之间的数据导入方法,以及针对Oracle运行环境的需求。接下来...

    oracle10g或11g通过dblink访问sql server数据库

    本文档详细介绍了如何在Oracle 10g或11g环境中使用DBLink来访问SQL Server数据库的方法。这种方法对于那些习惯于使用Oracle进行数据库操作的开发人员来说尤其有用,因为它提供了一种在不同类型的数据库之间无缝切换...

    SQLServer2008R2与Oracle11gR2互连

    在SQLServer中连接Oracle数据库可以通过设置Linked Server来实现。 ##### 4.1 配置Client - 在SQLServer的主机上安装Oracle客户端后,可以在数据源中看到Oracle的ODBC驱动。 - 注意客户端的版本与操作系统位数相...

    SQLServer 2005移植到oracle前提

    2. 序列的创建:如果SQL Server中使用了IDENTITY字段,你需要在Oracle中创建序列来替代,用作自增ID。 3. 索引的重建:分析SQL Server的索引,然后在Oracle中创建等效的索引,包括唯一索引、非唯一索引、复合索引等...

    从sql server 迁移数据到oracle 的步骤.doc

    在本文中,我们将详细介绍从 SQL Server 迁移数据到 Oracle 的步骤。数据迁移是数据库管理中的一项重要任务,它可以将数据从一个数据库管理系统迁移到另一个数据库管理系统。下面我们将逐步介绍从 SQL Server 迁移到...

    从Sql Server迁移数据到Oracle.docx

    Sql Server迁移数据到Oracle Sql Server迁移数据到Oracle是一个复杂的过程,需要使用正确的工具和技术来实现。下面是Sql Server迁移数据到Oracle的知识点: 1. 使用Oracle Sql Developer迁移工具:Oracle Sql ...

    sqlserver自动生成sql语句工具sqlserver转oracle

    例如,通过这样的工具,我们可以导出SQL Server中的表结构、索引、存储过程、触发器等对象的创建语句。 描述中提到的"sqlserver转oracle"则是指将SQL Server数据库的内容迁移到Oracle数据库的过程。这个过程涉及到...

    oracle到sqlserver 跨库查询

    Oracle 到 SQL Server 跨库查询是指通过网关工具将数据从 SQL Server 数据库中抽取到 Oracle 数据库中。这个过程需要安装和配置网关软件,并进行相应的设置和配置。 一、网关软件安装 网关软件的安装是跨库查询的...

    JDBC Oracle10G MySql 5.1.57 SqlServer2k 2k5 驱动

    标题中的“JDBC Oracle10G MySql 5.1.57 SqlServer2k 2k5 驱动”表明这是一个关于数据库连接的资源集合,主要包括针对Oracle 10g、MySQL 5.1.57以及SQL Server 2000和2005的Java JDBC驱动程序。这些驱动程序是Java...

    将SQLSERVER2000迁移到ORACLE11G操作流程

    本文档旨在提供从SQL Server 2000迁移到Oracle 11g的操作流程指南。迁移数据库是一个复杂的过程,涉及到数据一致性、性能优化以及兼容性等多个方面。对于从SQL Server迁移到Oracle这样的跨平台迁移,更需要仔细规划...

    使用Oracle 移植工作台从 Microsoft SQL Server 移植到 Oracle 数据.docx

    ### 使用Oracle移植工作台从Microsoft SQL Server移植到Oracle数据库10g #### 一、概述与背景 在当今数字化转型的时代背景下,企业面临着各种各样的技术挑战,其中一项重要的任务就是将现有系统的数据迁移到更先进...

    从SQLServer迁移大批量数据到Oracle

    ### 从 SQL Server 迁移大批量数据到 Oracle 在 IT 领域,数据库迁移是一项常见的任务,尤其是在企业级应用中。随着业务的发展和技术的进步,企业可能需要将现有的 SQL Server 数据库迁移到 Oracle 数据库。本文将...

    java jsp sqlserver数据表转移到oracle实例 源代码

    标题中的“java jsp sqlserver数据表转移到oracle实例 源代码”表明这是一个关于使用Java和JSP技术,将SQL Server数据库中的数据表迁移至Oracle数据库的实际操作案例。这个过程通常涉及数据迁移、数据转换以及可能的...

    Oracle数据库导入到SqlServer步骤(图文篇)

    解决办法是:先从 Oracle 中把数据复制出来到 Excel,然后从 Excel 中粘贴到 Sql Server 中。 Step 14-20: 使用 Excel 中转数据 首先,在 Oracle 中点击红框的地方,全选数据,然后 Ctrl+C 复制。然后,新建一个 ...

    SQLSERVER2000连接到ORACLE

    本文将详细阐述如何在SQL Server 2000中建立到Oracle数据库的连接,以便从SQL Server中读取Oracle中的数据。 首先,我们需要了解SQL Server 2000的数据链接服务器功能,这是实现跨数据库连接的关键。数据链接服务器...

    SQL Server2008 与 Oracle 11g 比较

    ### SQL Server 2008 与 Oracle 11g 比较 #### 执行摘要 Microsoft SQL Server 2008 在多个关键领域表现出色,尤其在商业相关的领域中,相较于 Oracle Database 11g 显示出了显著的优势。这些优势主要体现在以下几...

    sqlserver数据表向oracle转换

    sqlserver数据表向oracle转换,输入的参数是表名,输出的是建表语句

    SQLServer存储过程转为oracle存储过程的工具

    可以将SQL Server存储过程转为oracle存储过程的工具

    从SqlServer导数据到Oracle数据库的winform程序(定时器).zip

    在此项目中,源数据存储在SQL Server中,需要被导出到Oracle数据库。 4. **Oracle数据库**:Oracle是另一个广泛使用的RDBMS,尤其在企业级应用中。在本项目中,Oracle作为目标数据库接收从SQL Server导出的数据。 ...

Global site tag (gtag.js) - Google Analytics