SQL Server向Orale迁移的解决方案.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
sql server 向 oracle迁移的方案 一 数据库迁移方案 1、使用MS ? SQL7.0自带的Import/Export工具 ? Import/Export工具可以方便的把数据移植到Oracle。你需要通过定义ODBC ? For ? Oracle ? 作为目的源。这样的方法可以保证SQL7的绝大部分数据移植到Oracl ? e中去,但预先你必须在Oracle建立user ? 和 ? 相应的tablespace。因为SQL7中有 ? 一 ? 些特殊的datatype,如text ? 、image等。当一个table中有多于一个text或image ? 的字段时,将出现错误,不能执行。这是你需要做出选择,或者把text ? 镜像为v ? archar2(4000),或者镜像为Long ? datatype,但long ? datatype一个table里只能 ? 有一个。而且,还有可能遇到字符集的问题,最好用第三种方法或者第四种。所以你遇到这样的情况,可以结合使用第3种方法。 ? ? ? ?  2、使用Oracle ? Migration ? Workbanch。 ? 目前的版本是2.2,这个工具可以在免费下载。 ? 它是Oracle提供的一个代替SQl*Loader的工具,当然目前该工具仍然不能完全取 ? 代SQL*Loader。使用OMWB,只要你定义了ODBC ? for ? MS ? SQL7 ? 或Access或Sysbase ? ,就可以很方便的把tabels、views、triger、procedure、shortnaps、users等完全转到Oracle中去,对于text,可以镜像为CLOB类型,CLOB类型可以在一个Or ? acle ? table里有多列。image可以镜像为BLOB。但是遗憾的是,OMWB2.2不支持 ? 中 ? 文CLOB,无论我如何调整,数据migrate到Oracle后,都变成了????,如果谁有解决的方法,别忘了email给我。我对OMWB对数据流(如image,video,sound)的控制非常的欣赏。 ? ? ? ? 3、使用Oracle的 ? SQL*Loader ? 使用SQL*Loader,也许是最不方便的方法,但是是最有效的方法。可以使用各种方法把源数据导到一个外部分件中。我使用了MS ? SQL7带的BCP工具,可以把 ? 那些特殊多text字段的tables导出作为外部文件。然后使用SQL*Loader在把这些 ? 数据导到Oracle的一个临时表里,在对第2中方法出现的????字段进行update。 二 数据库处理区别介绍 由于这两种数据库产品是两家不同的软件厂商的产品, SQL Server的语法集是T-SQL,而ORACLE数据库的SQL的语法集为PL-SQL,虽然它们在大的方面基本上是相同的,但是在很多方面还是有区别的。 以下为常用的SQL语法迁移,包括数据类型、ID列向SEQUENCE迁移、表(主键、外键、CHECK、UNIQUE、DEFAULT、INDEX)、游标、存储过程、函数、触发器、常用SQL语法与函数几个方面,考虑SQL SERVER的实际情况,没有涉及ORACLE特有的PACKAGE、EXCEPTION等。数据从MS Server迁移到ORACLE数据库中有以下几个方面需要进行迁移: ???? i. 数据库类型的迁移 ???? 在ORACLE中,数据类型大致可分为数字、字符、日期时间和特殊四大类。其中,数字类型有NUMBER;字符类型有CHAR与VARCHAR2;日期时间类型只有DATE一种;除此之外,LONG、RAW、LONG RAW、BLOB、CLOB和BFILE等数据类型都可视为特殊数据类型。SQL SERVER的数据类型大致也可以分为以上的几种类型,参考ORACLE的数据类型,得到如下的数据类型转换方案:SQL SERVER中FLOAT,SMALLINT,INT,BIGINT,MONEY,DECIMAL,TINYINT,NUMERIC,BIT变成ORACLE中NUMBER类型,NUMBER类型的长度,小数位数根据实际情况来决定;如SQL SERVER中的BIT是布尔类型,在ORACLE没有这样的类型,只好转换成NUMBER(1),长度为1位就可以了。 ???? SQL SERVER的CHAR,VARCHAR类型分别转换成ORACLE的CHAR,VARCHAR2,字符长度与SQL SERVER中保持一致即可,对于VARCHAR字段长度大于3000的字段改成CLOB字段;SQL SERVER 中SMALLDATETIME、TIMESTAMP、DATETIME转换成ORACLE的DATE类型字段;SQL SERVER特殊字

文档评论(0)

asd3366 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档