我的编程空间,编程开发者的网络收藏夹
学习永远不晚

SQLServer2005如何移植到Oracle10g

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

SQLServer2005如何移植到Oracle10g

这篇文章主要介绍“SQLServer2005如何移植到Oracle10g”,在日常操作中,相信很多人在SQLServer2005如何移植到Oracle10g问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”SQLServer2005如何移植到Oracle10g”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  由于目前OMWB仅支持SQLServer2000,根据官方网站的消息,OMWB的下一版会推出对SQLServer 2005的支持,所以在目前的情况下只能先把库从SQLServer 2005移植到SQLServer 2000,这就是我们移植过程的第一步了。

  SQLServer2005怎样移植到Oracle10g

  一、SQLServer 2005-->SQLServer 2000

  一直以来,版本要降级都是很困难的,因为在新版本中必然会有些新的特性,而如果刚好凑巧你使用到了这些特性的话,在降级到低版本时就会碰到一些问题,在经过几次的尝试后,总结而言,这个过程还是比较容易做的,毕竟是同样的数据库,再怎么样也不会出太大的问题,不过也没有像将库从SQLServer 2000升级为SQLServer 2005那么简单,整个移植过程这么进行:

  1、基于SQLServer 2005的数据导出将表结构和数据导入到SQLServer 2000;

  这步中需要注意的是默认情况下SQLServer会将表和视图一起导入,在这里不要选择视图,否则导入到SQLServer 2000后有些视图会变成表,选择需要导入的表后基本上这步不会出现什么问题,可以完成表结构和数据的移植。

  2、基于SQLServer 2005的生成脚本将视图/函数/存储过程移植到SQLServer 2000;

  这步需要慢慢来,因为在视图/函数/存储过程中你可能使用到了一些SQLServer 2005的新特性,如果碰到这样的情况,只能是手工进行修改,以使它完全符合SQLServer 2000的要求,尽管在生成脚本时你可以选择生成的目标版本为SQLServer 2000,但还是会有部分脚本执行是会出错的。

  在完成了SQLServer 2005到SQLServer 2000的移植后,就可以基于OMWB来把库从SQLServer 2000移植到Oracle了,这步尽管有工具,还是会比较的麻烦,总结如下:

  二、SQLServer 2000-->Oracle 10g

  关于如何基于OMWB将库从SQLServer 2000移植到Oracle 10g的操作步骤可参见此篇文档:

  大家现在从oracle官方站下的话可能会找不到sqlserver 2000的插件包,如果找不到的话可以从这里下载:

  我在这里要总结的是基于OMWB将库从SQLServer 2000移植到Oracle 10g后还需要手工做的一些事情,不要指望OMWB能无缝的帮你把库从SQLServer移植到Oracle中,银弹是不存在的,因此我们需要做些手工的工作完成库的移植:

  SQLServer2005怎样移植到Oracle10g

  1、移植表结构和数据可能会出现的问题;

  表中字段的默认值/主键/外键/索引移植不过去,这些需要手工的进行补充;

  2、移植视图可能会出现的问题;

  移植过去的视图可能会出现各种语法错误的问题,这需要手工的修正,一般来说都是较为简单的错误;

  另外一种问题就是有些视图可能会无法移植过去,这些视图就只能在对比OMWB的移植报告后找出来手工的进行移植了。

  3、移植函数/存储过程可能会出现的问题;

  移植过去的函数/存储过程中可能仍然会有不少的语法问题,例如像SCOPE_IDENTITY()、REPLICATE、newid()这些OMWB不知道该怎么处理的函数,还有像返回Table类型的这种函数,这些都只能在移植后手工的来进行纠正,关于函数不同造成的语法错误的现象大家可以参看这篇文档来做SQLServer和Oracle函数的对照:

  移植过去的函数/存储过程可能编译是没有问题,也就是Oracle认为没有语法问题,但执行起来却会报错,像字符串相加,经过OMWB移植后有些字符串相加会替换成||,但是有些会遗漏,这个时候也只能手工来纠正这些错误了;

  移植过去的函数/存储过程在执行过程中可能会出现某些表的主键值不能为空的现象,造成这种现象的原因多数为在SQLServer中该字段的默认值定义的为IDENTITY,但在Oracle中没法赋予这样的默认值,只能在插入的sql语句中加上对于主键字段的赋值,可采用sequence的方式来生成顺序号;

  移植过去的函数/存储过程中如果其中的查询语句是采用字符串的方式,然后动态执行的话,这个时候的查询语句就得手工修改为符合oracle的语法了,因为OMWB在移植时是不会对字符串形式的查询语句来做处理的;

  部分函数/存储过程会由于OMWB确实无法处理,造成移植不到oracle,这个时候也必须参照OMWB的移植报告找出这些函数/存储过程来手工移植了。

  整个移植过程可能会碰到比上面所列出的更多的别的问题,可以看出整个移植过程确实需要耗费不小的工作量,但总体而言,完成的难度并不高。

  其实真的是这样吗?当然不是,就算你完成了上面的移植工作,那也只能说表面看上去移植是完成了,很有可能会出现这个存储过程语法等等都没有问题了,但执行的效果和SQLServer就是不一样,这是为什么呢?可能会是因为Oracle和SQLServer在并发控制、事务机制上是不同的,而这会影响到程序调用时的sql的编写、存储过程的编写等等,也就是说,在上面的移植过程的工作完成后,还得仔细检查现在的sql语句/函数/存储过程是否根据Oracle的机制达到了原来在SQLServer中期望的效果,只有做到这步的效果是一样的,才可以说移植过程完成了。

到此,关于“SQLServer2005如何移植到Oracle10g”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注亿速云网站,小编会继续努力为大家带来更多实用的文章!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

SQLServer2005如何移植到Oracle10g

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

如何在STM32上移植Linux

本篇文章给大家分享的是有关如何在STM32上移植Linux,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。刚从硬件跳槽为嵌软时,没有任何一丝的准备。一入职,领导就交代了一项特难的
2023-06-16

如何编写可移植的PL/SQL代码

编写可移植的PL/SQL代码需要遵循一些最佳实践和规范,以确保代码在不同的数据库环境中都能够正确运行。以下是一些建议:使用标准SQL语法:尽量避免使用特定于某个数据库厂商的特性和语法,而是使用标准的SQL语法。这样可以确保代码在不同的数据库
如何编写可移植的PL/SQL代码
2024-05-08

[视频]微软展示如何轻松移植iOS/Android应用到Win10上

在本周三召开的Build开发者大会上,微软宣布androidwww.cppcns.com和IOS应用开发者能够非常轻松的将应用移植到Windows 10系统上。尽管此前已经有相关的谣传,但是当编程客栈微软正式宣布的时候依然让人难以相信。想必
2023-06-14

设计模式如何促进代码的可移植性

使用设计模式可以提高代码可移植性,因为它提供了通用的抽象和关系,可应用于各种软件场景。这些模式包括: 1. singleton 模式(处理单例类); 2. adapter 模式(转换类或对象以兼容不同接口); 3. bridge 模式(将抽
设计模式如何促进代码的可移植性
2024-05-09

如何在鸿蒙移植树莓派中添加单板

本篇文章给大家分享的是有关如何在鸿蒙移植树莓派中添加单板,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。1、添加新单板1.1、修改menuconfig和Kconfig要在鸿蒙的源
2023-06-15

PHP 函数版本兼容性如何影响代码移植?

php 函数版本兼容性影响代码移植,主要受向后兼容性和向前兼容性原则支配。函数更改类型包括签名更改、行为更改、弃用和删除。避免兼容性问题的方法是保持版本更新、检查文档、编写可移植代码并避免使用已弃用的函数。PHP 函数版本兼容性对代码移植的
PHP 函数版本兼容性如何影响代码移植?
2024-04-25

C++跨平台开发:如何进行代码移植和重构?

跨平台 c++++ 开发需要代码移植和重构。移植涉及替换特定平台依赖项,而重构包括抽象平台特定代码、使用跨平台库和遵守跨平台编码约定。实战案例演示了如何使用抽象和跨平台库创建可移植图像查看器。C++ 跨平台开发:代码移植和重构指南跨平台开
C++跨平台开发:如何进行代码移植和重构?
2024-05-11

C++开发建议:如何进行C++代码的移植性设计

C++开发建议:如何进行C++代码的移植性设计随着现代软件开发领域的不断发展,软件移植性逐渐成为一个重要的话题。通俗来说,软件移植性指的是软件在不同平台上的可移植性和兼容性。在C++开发中,针对不同平台的移植性设计显得尤为重要。本文将介绍如
C++开发建议:如何进行C++代码的移植性设计
2023-11-22

mac的文件如何移到移动硬盘

要将Mac上的文件移动到移动硬盘上,可以按照以下步骤进行操作:1. 连接移动硬盘到Mac电脑的USB或Thunderbolt端口上。2. 打开“Finder”(在Dock栏上的图标)。3. 在“Finder”窗口的侧边栏中,找到并点击“设备
2023-09-28

mac如何把文件移到移动硬盘

若要将文件从Mac移动到移动硬盘,您可以按照以下步骤进行操作:1. 连接移动硬盘:将移动硬盘连接到Mac上,可以通过USB、Thunderbolt或FireWire接口连接。2. 打开Finder:在Dock栏或Launchpad中找到Fi
2023-10-09

Windows 2003如何迁移到Windows 2008

一、现有环境首androidLmYbGy先请把安转好的Windows 2008服务器加入到原有的Windows2003域环境。php 上一页12编程 3 4 5 6 下php一页 阅读全文
2023-05-24

mysql数据库如何转移到oracle

这篇文章主要介绍了mysql数据库如何转移到oracle,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
2022-12-22

编程热搜

目录