문제

데이터베이스 마이그레이션 작업을하고 있습니다. MSSQL의 데이터베이스를 MySQL 데이터베이스에 복사해야합니다. MSSQL에서 MySQL 데이터베이스로 테이블 층을 복사하기 위해 작은 Java 유틸리티를 만들 수있었습니다. 이제 모든 데이터를 MSSQL에서 MySQL로 복사해야합니다. 테이블에서 모든 데이터를 얻기 위해 resultSet을 Java에서 사용하려고 시도했지만 데이터의 작은 부분 만 가져올 수있었습니다. 동일한 데이터를 MySQL DB에 삽입하기 위해 모든 데이터를 테이블에서 resultset로 또는 내가 사용할 수있는 다른 유사한 구조로 가져 오는 대체 솔루션이 있습니까? 테이블에는 25,00,000 개가 넘는 레코드가 있습니다.

도움이 되었습니까?

해결책

JDBC 결과 세트는 원칙적으로 큰 쿼리 결과의 엔터리를 반복 할 수 있어야합니다.

그러나 Java를 통해가는 것이 가장 효율적인 접근법은 아닐 수 있습니다. 파일로의 대량 내보내기 및 대량 가져 오기가 갈 수 있습니다. MS는 a가있는 것 같습니다 BCP 수출을 할 수있는 유틸리티.

다른 팁

설명과 같이 데이터베이스 마이그레이션을 달성하는 가장 좋은 방법은 ETL 도구를 사용하는 것입니다. 여기에는 ETL에 대한 좋은 개요가 있습니다.

http://en.wikipedia.org/wiki/extract,_transform ,_load

JDBC 로이 작업을 수행 할 수없는 이유는 없으므로 자신의 롤링을 시작하면 '데이터의 작은 부분 만 가져올 수 있습니다':

  • 실행중인 쿼리는 무엇입니까?
  • 예외를 얻고 있습니까?
  • MS-SQL에 연결하는 데 사용하는 JDBC 드라이버는 무엇입니까?
라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top