2009-09-16 2 views
0

Я выполняю работу по миграции базы данных. Мне нужно скопировать базу данных в MSSQL в базу данных MySql. Можно было придумать небольшую утилиту java для копирования таблицы из MSSQL в базу данных MySql. Теперь мне нужно скопировать все данные с MSSQL на MySql. Я попытался использовать набор результатов в java для получения всех данных из таблицы, но тогда он мог получить только небольшую часть данных. Есть ли альтернативное решение для получения всех данных из таблицы в набор результатов или для какой-либо другой подобной структуры, которую я мог бы использовать, для вставки тех же данных в mysql Db. Для таблицы имеется более 25 000 000 записей.Любой WorkAround для Java ResultSet Ограничение

+1

В JDBC таких ограничений нет. – skaffman

ответ

1

Результирующий набор JDBC должен, в принципе, позволять выполнять итерацию большого результата запроса.

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

+0

s/может быть/is/g. –

+0

Thanx djna, Массовый экспорт в файл из mssql ?? Можете немного уточнить. Еще раз спасибо :) – Richie

+0

У некоторых поставщиков баз данных есть утилиты для экспорта и импорта данных. Кажется, что MS это делает. Я не знаю, насколько легко экспортировать экспорт в MYSQL, но как только у вас есть файл для игры, я бы ожидал, что любые требуемые преобразования будут довольно легкими. – djna

0

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

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

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

  • Какой запрос вы используете?
  • Вы получаете исключение?
  • Какой драйвер JDBC вы используете для подключения к MS-SQL?
+0

привет, Спасибо за ваш ответ. Я знаю, что в идеале результаты должны собирать все данные из базы данных, но тогда это не работает для меня. * Запрос, который я пытаюсь запустить, «SELECT * FROM » * Я не получаю исключение при выполнении запроса * JDBC драйвер Microsoft JDBC SQL Драйвер сервера – Richie

+0

Привет Richie - драйвер ISN MS JDBC Это хорошо (некоторые могут сказать намеренно). Попробуйте использовать драйвер TDS - http://jtds.sourceforge.net/index.html –

 Смежные вопросы

  • Нет связанных вопросов^_^