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
简单易懂的PyCharm项目打包方法分享随着Python的流行,越来越多的开发者使用PyCharm作为Python开发的主要工具。PyCharm是功能强大的集成开发环境,它提供了许多方便的功能来帮助我们提高开发效率。其中一个重要的功能就是项目的打包。本文将介绍如何在PyCharm中简单易懂地打包项目,并提供具体的代码示例。为什么要打包项目?在Python开发

PyCharm是一款功能强大的Python集成开发环境,提供了丰富的开发工具和环境配置,让开发者能够更高效地编写和调试代码。在使用PyCharm进行Python项目开发的过程中,有时候我们需要将项目打包成可执行的EXE文件,以便在没有安装Python环境的计算机上运行。本文将介绍如何使用PyCharm将项目转换为可执行的EXE文件,同时给出具体的代码示例。首

如何在iOS17中的iPhone上制作GroceryList在“提醒事项”应用中创建GroceryList非常简单。你只需添加一个列表,然后用你的项目填充它。该应用程序会自动将您的商品分类,您甚至可以与您的伴侣或扁平伙伴合作,列出您需要从商店购买的东西。以下是执行此操作的完整步骤:步骤1:打开iCloud提醒事项听起来很奇怪,苹果表示您需要启用来自iCloud的提醒才能在iOS17上创建GroceryList。以下是它的步骤:前往iPhone上的“设置”应用,然后点击[您的姓名]。接下来,选择i

作为一个技术博主,了不起比较喜欢各种折腾,之前给大家介绍过ChatGPT接入微信,钉钉和知识星球(如果没看过的可以翻翻前面的文章),最近再看开源项目的时候,发现了一个ChatGPTWebUI项目。想着刚好之前没有将ChatGPT接入过WebUI,有了这个开源项目可以拿来使用,真是不错,下面是实操的安装步骤,分享给大家。安装官方在Github的项目文档上提供了很多中的安装方式,包括手动安装,docker部署,以及远程部署等方法,了不起在选择部署方式的时候,一开始为了简单想着

react启动项目报错的解决办法:1、进入项目文件夹,启动项目并查看报错信息;2、执行“npm install”或“npm install react-scripts”命令;3、执行“npm install @ant-design/pro-field --save”命令。

PyCharm是一款功能强大的Python集成开发环境(IDE),提供了丰富的功能帮助开发者更高效地编写和管理Python项目。在使用PyCharm开发项目的过程中,有时候我们需要删除一些不再需要的项目以释放空间或清理项目列表。本文将详细介绍如何在PyCharm中删除项目,并提供具体的代码示例。如何删除项目打开PyCharm,进入项目列表界面。在项目列表中,

IDEA(IntelliJIDEA)是一款强大的集成开发环境,可以帮助开发人员快速高效地开发各种Java应用程序。在Java项目开发中,使用Maven作为项目管理工具能够帮助我们更好地管理依赖库、构建项目等。本文将详细介绍如何在IDEA中创建一个Maven项目的基本步骤,同时提供具体的代码示例。步骤一:打开IDEA并创建新项目打开IntelliJIDEA

从零开始,快速上手PyCharm项目打包技巧概述:在Python开发中,将项目打包成可执行文件是非常重要的一步。它可以方便地分享和分发项目,而无需安装Python解释器和依赖包。PyCharm作为一个功能强大的Python集成开发环境,提供了快速上手项目打包的技巧和工具。本文将介绍如何利用PyCharm从零开始打包你的Python项目,并提供具体的代码示例。


Hot AI Tools

Undresser.AI Undress
AI-powered app for creating realistic nude photos

AI Clothes Remover
Online AI tool for removing clothes from photos.

Undress AI Tool
Undress images for free

Clothoff.io
AI clothes remover

AI Hentai Generator
Generate AI Hentai for free.

Hot Article

Hot Tools

mPDF
mPDF is a PHP library that can generate PDF files from UTF-8 encoded HTML. The original author, Ian Back, wrote mPDF to output PDF files "on the fly" from his website and handle different languages. It is slower than original scripts like HTML2FPDF and produces larger files when using Unicode fonts, but supports CSS styles etc. and has a lot of enhancements. Supports almost all languages, including RTL (Arabic and Hebrew) and CJK (Chinese, Japanese and Korean). Supports nested block-level elements (such as P, DIV),

SublimeText3 Linux new version
SublimeText3 Linux latest version

Notepad++7.3.1
Easy-to-use and free code editor

PhpStorm Mac version
The latest (2018.2.1) professional PHP integrated development tool

Dreamweaver CS6
Visual web development tools
