Любое обходное решение Для ограничения набора результатов Java

StackOverflow https://stackoverflow.com/questions/1431423

  •  07-07-2019
  •  | 
  •  

Вопрос

Я выполняю работу по миграции базы данных.Я должен скопировать базу данных в MSSQL в базу данных MySQL.Удалось создать небольшую java-утилиту для копирования структуры таблицы из MSSQL в базу данных MySQL.Теперь я должен скопировать все данные из MSSQL в MySQL.Я попытался использовать resultset в java для получения всех данных из таблицы, но тогда он смог получить только небольшую часть данных.Есть ли какое-либо альтернативное решение для получения всех данных из таблицы в результирующий набор или в какую-либо другую подобную структуру, которую я мог бы использовать, чтобы вставить те же данные в базу данных mysql?В таблице содержится более 25 00 000 записей.

Это было полезно?

Решение

Набор результатов JDBC должен, в принципе, позволять вам повторять суть большого результата запроса.

Однако использование Java может оказаться не самым эффективным подходом. Массовый экспорт в файл и массовый импорт могут быть подходящими. Похоже, что у MS есть bcp утилита, которая может выполнять экспорт.

Другие советы

Лучший способ добиться миграции базы данных, как вы описали, - это использовать инструмент ETL - здесь есть хороший обзор ETL:

http://en.wikipedia.org/wiki/Extract ,_трансформировать,_загрузить

Нет причин, по которым вы не смогли бы сделать это с помощью JDBC, и поэтому, если вы настроены на создание собственного, пожалуйста, уточните "удалось получить только небольшую часть данных":

  • какой запрос вы выполняете?
  • получаете ли вы исключение?
  • какой драйвер JDBC вы используете для подключения к MS-SQL?
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top