首页 数据库 mysql教程 用perl做数据库迁移,从MSSQL到MYSQL(-)大概思路_MySQL

用perl做数据库迁移,从MSSQL到MYSQL(-)大概思路_MySQL

Jun 01, 2016 pm 01:49 PM
项目

bitsCN.com

最近手上有一项目,需要把数据库从SQL SERVER切换到MySQL,其业务原因暂且不提。小弟拿到这一项目之后,头痛不已,因为项目中用到了SQL Server2008的一些新的数据类型,包括Geometry,包括hierarchyid(级联ID)这类SQL Server新的数据类型。当然,MySQL自V5之后,支持Geometry但还不支持基于Geometry的运算,因此在做数据迁移的时候,此方面必须要有所考虑。当然,这是后话,先不管三七二十一,先把数据全部导到MySQL之中再说。

在做前期技术选型的时候,我想过用ETL工具,而且手上也有好几个用得比较熟悉的ETL工具,但,一想到要拖拖拉拉建模,而且表那么多(本次初步估了一下,涉及到差不多500多张表...),像hierarchyid这种字段,在转换的时候,还得要在源数据上做转换,头昏,脑涨,奶酸,蛋痛等一切症状全上来了。前不久在某坛子上看到对Perl的介绍,外加掌握Perl会简化Linx的运维工作。于是摩拳擦掌准备用Perl来写一个导数据脚本。由于上弟在之前从没用Perl写过任何脚本,哪怕一行都木有,所以,迅速找到一本Perl的电子本【Perl语言入门  第五版】,人称“小骆驼”。

废话不多说,先说一下,我对程序的大概的思路:

先建数据表,在建表的时候,暂时不做太大的数据字段上边的改多。(之前我还在想,直接把级联ID自动拆分为2个字段,ID与ParentID,但在第一轮测试的过程中,发现因为级联ID被用作了外键,在做转换的时候,会出现字段重复啊,冲突啊神马的东西,而且,这种外键也不是很好自动关联,只好放弃。)

再导数据,用最简单的方法先导出来,从SQL SERVER中查出来,插入到MYSQL就完事。但在这里我做了一个测试,如果把一整张表放到内存中,服务器基本不用干其它事了。于是我在这里把一张数据表拆分了,每次导2000条。。。

最后再查出使用过级联ID(hierarchyid)的字段,再写脚本处理这些表的字段。

bitsCN.com
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章

两个点博物馆:邦格荒地地点指南
4 周前 By 尊渡假赌尊渡假赌尊渡假赌
仓库:如何复兴队友
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒险:如何获得巨型种子
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热门文章标签

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码 AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码 Apr 09, 2024 pm 03:20 PM

AI攻克费马大定理?数学家放弃5年职业生涯,将100页证明变代码

深入了解PyCharm:快速删除项目的方法 深入了解PyCharm:快速删除项目的方法 Feb 26, 2024 pm 04:21 PM

深入了解PyCharm:快速删除项目的方法

分享PyCharm项目打包的简易方法 分享PyCharm项目打包的简易方法 Dec 30, 2023 am 09:34 AM

分享PyCharm项目打包的简易方法

PyCharm实用技巧:将项目转换为可执行EXE文件 PyCharm实用技巧:将项目转换为可执行EXE文件 Feb 23, 2024 am 09:33 AM

PyCharm实用技巧:将项目转换为可执行EXE文件

制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法 制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法 Sep 21, 2023 pm 06:41 PM

制作 iPhone 上 iOS 17 提醒应用程序中的购物清单的方法

基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点 基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点 Apr 15, 2023 pm 07:43 PM

基于开源的 ChatGPT Web UI 项目,快速构建属于自己的 ChatGPT 站点

react启动项目报错怎么办 react启动项目报错怎么办 Dec 27, 2022 am 10:36 AM

react启动项目报错怎么办

PyCharm教程:如何在PyCharm中移除项目? PyCharm教程:如何在PyCharm中移除项目? Feb 24, 2024 pm 05:54 PM

PyCharm教程:如何在PyCharm中移除项目?

See all articles