SQL Server 2005에서 MySQL로 데이터를 내보내는 방법
나는 SQL Server 2005
많은 데이터를 가져 오는 것에 대해 머리를 두들겨왔다 . 거의 300 개의 테이블이있는 데이터베이스를 받았는데 이것을 MySQL 데이터베이스로 바꿔야합니다. 내 첫 번째 호출은 bcp를 사용하는 것이었지만 불행히도 유효한 CSV를 생성하지 못합니다. 문자열이 캡슐화되지 않았으므로 쉼표가있는 문자열이있는 행 (또는 구분자로 사용하는 모든 행)을 처리 할 수 없습니다. 그리고 분명히 CSV는 데이터 유형에 대해 아무것도 알려주지 않기 때문에 모든 create table 문을 직접 작성해야합니다.
더 나은 것은 SQL Server와 MySQL 모두에 연결할 수있는 도구가 있다면 복사를하는 것입니다. 뷰, 저장 프로 시저, 트리거 등을 잃게되지만 기본 유형 만 사용하는 테이블을 한 DB에서 다른 DB로 복사하는 것은 어렵지 않습니다.
누구든지 그러한 도구를 알고 있습니까? 정수, 부동 소수점, 날짜 시간 및 문자열을 지원하는 한 얼마나 많은 가정이나 단순화가 발생하는지 신경 쓰지 않습니다. 어쨌든 많은 가지 치기, 정규화 등을해야하므로 키, 관계 등을 유지하는 데는 신경 쓰지 않지만 초기 데이터 세트가 빠르게 필요합니다!
내가 찾은 가장 좋은 방법은 MySQL에서 제공 하는 MySQL Migration Toolkit 입니다. 일부 대규모 마이그레이션 프로젝트에 성공적으로 사용했습니다.
SQL Server 2005 "Standard", "Developer"및 "Enterprise"에디션에는 SSIS 가 포함되어 Sql Server 2000의 DTS를 대체했습니다. SSIS에는 자체 DB에 대한 연결이 내장되어 있으며 다른 사람이 MySQL 용으로 작성한 연결을 찾을 수 있습니다. . 여기 에 한 가지 예가 있습니다. 연결이 완료되면 둘간에 데이터를 이동하는 SSIS 패키지를 만들 수 있습니다.
SQlServer에서 MySQL로 데이터를 이동할 필요는 없었지만 MySQl 연결이 설치되면 두 SQLServer DB간에 데이터를 이동하는 것과 동일하게 작동한다고 생각합니다. 이는 매우 간단합니다.
MSSQL Management Studio를 사용하여 MySQL OLE DB로 테이블을 전환했습니다. 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 "작업-> 데이터 내보내기"로 이동하여 MsSQL OLE DB 원본, MySQL OLE DB 원본을 지정하고 두 데이터 원본 간의 열 매핑을 만들 수 있습니다.
MySQL 대상에 데이터베이스와 테이블을 미리 설정하고 싶을 것입니다 (내보내기는 테이블을 자동으로 생성하려고하지만 이로 인해 종종 오류가 발생 함). 데이터베이스를 마우스 오른쪽 버튼으로 클릭하여 "작업-> 스크립트 생성"을 사용하여 MySQL에서 테이블을 빠르게 생성 할 수 있습니다. 생성 스크립트가 생성되면 MSSQL에 존재하는 키워드 및 유형을 MYSQL로 단계별로 검색 / 교체해야합니다.
물론 평소처럼 데이터베이스를 백업하고 MYSQL에서 MSSQL 백업을 복원하는 유틸리티를 찾을 수도 있습니다. 그러나 하나가 있는지 확실하지 않습니다.
자신의 PHP 솔루션을 롤링하면 한 DB에서 다른 DB로 스키마를 자동으로 복제하는 좋은 방법이 있는지 확실하지 않지만 확실히 작동합니다.
데이터를 복사하는 중이거나 두 DB간에 수정 된 스키마간에 변환하기 위해 어쨌든 사용자 지정 코드가 필요한 경우 PHP 5.2+ 및 PDO 라이브러리를 사용하는 것이 좋습니다. PDO ODBC를 사용하여 연결할 수 있습니다 (MSSQL 드라이버 사용). 다른 라이브러리를 사용하여 MSSQL에서 PHP로 큰 텍스트 필드와 멀티 바이트 문자를 가져 오는 데 많은 문제가있었습니다.
시도해 볼 수있는 또 다른 도구는 SQLMaestro 제품군입니다.- http: //www.sqlmaestro.com 정확한 도구를 확인하는 것은 약간 까다 롭지 만 다양한 작업을 처리하는 무료 및 구매 용 다양한 도구가 있습니다. 여러 데이터베이스 플랫폼 용. MySQL 용 데이터 마법사 도구를 먼저 사용해 보는 것이 좋습니다. 필요한 적절한 "가져 오기"도구가있을 것이기 때문입니다.
참고 URL : https://stackoverflow.com/questions/129/how-to-export-data-from-sql-server-2005-to-mysql
'development' 카테고리의 다른 글
내 서버에서 실행할 수있는 Github 복제본이 PHP에 있습니까? (0) | 2020.09.22 |
---|---|
Google Analytics libAdIdAccess.a에 비트 코드가 포함되어 있지 않습니다. (0) | 2020.09.22 |
어떤 SQL 쿼리가 더 빠릅니까? (0) | 2020.09.22 |
구현 정의 동작을 피하는 효율적인 unsigned-to-signed 캐스트 (0) | 2020.09.22 |
git checkouts는 실제로 무엇을 의미합니까? (0) | 2020.09.22 |