Pergunta

Eu estou fazendo um trabalho de migração de banco de dados. Eu tenho que copiar um banco de dados MSSQL ao banco de dados MySql. Foi possível chegar a um utilitário java pequeno para copiar stucture tabela a partir de MSSQL ao banco de dados MySQL. Agora eu tenho que copiar todos os dados de MSSQL ao MySQL. Eu tentei usar o conjunto de resultados em java para obter todos os dados de uma tabela, mas então ele só poderia buscar uma pequena parte de dados. Existe alguma solução alternativa para obter todos os dados a partir da tabela de resultados para ou a alguma outra estrutura semelhante que i poderia utilizar, para inserir os mesmos dados mysql em Db. Há mais de 25,00,000 registros para uma tabela.

Foi útil?

Solução

A JDBC conjunto de resultados deve, em princípio, permitir que você iterate o entirity de um grande resultado da consulta.

No entanto indo via Java pode não ser a abordagem mais eficiente. exportação em massa a uma importação de arquivo e volume pode ser o caminho a percorrer. Parece que a MS tem um href="http://msdn.microsoft.com/en-us/library/ms162802.aspx" rel="nofollow noreferrer"> utilidade que pode fazer a exportação.

Outras dicas

A melhor maneira de conseguir uma migração de banco de dados como você descreve é ??usar e ETL Tool - há uma boa visão geral de ETL aqui:

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

Não há nenhuma razão para que você não seria capaz de fazer isso com JDBC e por isso, se você é fixado em rolar seus próprios favor elaborar sobre 'só poderia buscar uma pequena parte de dados':

  • qual é a consulta que você está correndo?
  • você está recebendo uma exceção?
  • que o driver JDBC que você está usando para se conectar ao MS-SQL?
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top