Любое обходное решение Для ограничения набора результатов Java
-
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?