用perl做数据库迁移,从MSSQL到MYSQL(-)大概思路_MySQL
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
핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제









페르마의 마지막 정리, AI가 정복할 것인가? 그리고 무엇보다 가장 의미 있는 부분은 AI가 풀려고 하는 페르마의 마지막 정리가 바로 AI가 쓸모없다는 것을 증명한다는 점이다. 옛날에는 수학이 순수한 인간 지능의 영역에 속했지만 지금은 이 영역이 고급 알고리즘에 의해 해독되고 짓밟히고 있습니다. Image 페르마의 마지막 정리는 수세기 동안 수학자들을 당황하게 만든 "악명 높은" 퍼즐입니다. 이는 1993년에 입증되었으며 이제 수학자들은 컴퓨터를 사용하여 증명을 재현하는 큰 계획을 세웁니다. 그들은 이 버전의 증명에 논리적 오류가 있으면 컴퓨터로 확인할 수 있기를 바랍니다. 프로젝트 주소: https://github.com/riccardobrasca/flt

간단하고 이해하기 쉬운 PyCharm 프로젝트 패키징 방법을 공유하세요. Python의 인기로 인해 점점 더 많은 개발자가 PyCharm을 Python 개발의 주요 도구로 사용하고 있습니다. PyCharm은 개발 효율성을 향상시키는 데 도움이 되는 다양한 편리한 기능을 제공하는 강력한 통합 개발 환경입니다. 중요한 기능 중 하나는 프로젝트 패키징입니다. 이 글에서는 간단하고 이해하기 쉬운 방식으로 PyCharm에서 프로젝트를 패키징하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 왜 패키지 프로젝트인가? Python으로 개발됨

제목: PyCharm에 대해 자세히 알아보기: 프로젝트를 삭제하는 효율적인 방법 최근 몇 년 동안 강력하고 유연한 프로그래밍 언어인 Python을 점점 더 많은 개발자가 선호하고 있습니다. Python 프로젝트 개발에서는 효율적인 통합 개발 환경을 선택하는 것이 중요합니다. 강력한 통합 개발 환경인 PyCharm은 Python 개발자에게 프로젝트 디렉터리를 빠르고 효율적으로 삭제하는 것을 포함하여 다양한 편리한 기능과 도구를 제공합니다. 다음은 PyCharm에서 삭제를 사용하는 방법에 중점을 둡니다.

PyCharm은 풍부한 개발 도구와 환경 구성을 제공하는 강력한 Python 통합 개발 환경으로, 개발자가 코드를 보다 효율적으로 작성하고 디버그할 수 있습니다. Python 프로젝트 개발에 PyCharm을 사용하는 과정에서 Python 환경이 설치되지 않은 컴퓨터에서 실행하기 위해 프로젝트를 실행 가능한 EXE 파일로 패키징해야 하는 경우가 있습니다. 이 기사에서는 PyCharm을 사용하여 프로젝트를 실행 가능한 EXE 파일로 변환하는 방법을 소개하고 구체적인 코드 예제를 제공합니다. 머리

iOS17의 iPhone에서 GroceryList를 만드는 방법 미리 알림 앱에서 GroceryList를 만드는 것은 매우 간단합니다. 목록을 추가하고 항목으로 채우면 됩니다. 앱은 자동으로 항목을 카테고리별로 분류하며, 파트너나 플랫 파트너와 협력하여 매장에서 구매해야 할 항목의 목록을 만들 수도 있습니다. 이를 위한 전체 단계는 다음과 같습니다. 1단계: iCloud 미리 알림 켜기 이상하게 들리겠지만 Apple에서는 iOS17에서 GroceryList를 생성하려면 iCloud에서 미리 알림을 활성화해야 한다고 말합니다. 단계는 다음과 같습니다. iPhone의 설정 앱으로 이동하여 [사용자 이름]을 탭하세요. 다음으로 i를 선택하세요.

반응 프로젝트 시작 시 오류 해결 방법: 1. 프로젝트 폴더에 들어가서 프로젝트를 시작한 후 오류 메시지를 확인합니다. 2. "npm install" 또는 "npm install React-scripts" 명령을 실행합니다. 3. "npm install"을 실행합니다. @ant-design/ pro-field --save" 명령.

기술 블로거로서 Fengfeng은 모든 종류의 던지기를 선호합니다. 이전에 WeChat, DingTalk 및 Knowledge Planet에 연결하기 위해 ChatGPT를 도입한 적이 있습니다(아직 보지 못했다면 이전 기사를 읽어보세요). 소스 프로젝트에서 ChatGPTWebUI 프로젝트를 발견했습니다. 이전에 ChatGPT를 WebUI에 연결한 적이 없다고 생각하면 이 오픈 소스 프로젝트를 사용하게 되어 정말 좋습니다. 다음은 모든 사람과 공유할 수 있는 실용적인 설치 단계입니다. 설치 담당자는 Github의 프로젝트 문서에서 수동 설치, Docker 배포, 원격 배포 등 다양한 설치 방법을 제공합니다. 배포 방법을 선택할 때 처음에 단순성을 생각했다는 것이 놀랍습니다.

PyCharm은 개발자가 Python 프로젝트를 보다 효율적으로 작성하고 관리하는 데 도움이 되는 풍부한 기능을 제공하는 강력한 Python 통합 개발 환경(IDE)입니다. PyCharm을 사용하여 프로젝트를 개발하는 과정에서 공간 확보나 프로젝트 목록 정리를 위해 더 이상 필요하지 않은 일부 프로젝트를 삭제해야 하는 경우가 있습니다. 이 문서에서는 PyCharm에서 프로젝트를 삭제하는 방법을 자세히 설명하고 구체적인 코드 예제를 제공합니다. 프로젝트 삭제 방법 PyCharm을 열고 프로젝트 목록 인터페이스로 들어갑니다. 프로젝트 목록에서
