Страница 1 из 1

Java, Interbase, DB2

Добавлено: 01 апр 2005, 13:15
Chester
Добрый день, Господа!

Намедни назрел вопрос...

Имеем некую БД Interbase, хотим перелить данные из некоторых ее таблиц в DB2, (или Oracle к примеру). При чем не просто скопировать, а только то что нужно (определенные столбцы по определенным критериям).
Первое что приходит на ум - создать java.sql.Connection conInterbase, conDB2 - а потом из резалтсета полученного из conInterbase формировать инсерты и запихивать в conDB2. Но такой подход, увы, совершенно не радует быстродействием, даже если не создавать statement каждый раз, а подставлять в него параметры
(INSERT INTO table_name(col1,col2,col3,col5,...) VALUES(?,?,?,....)).
Так вот собсно вопрос: Как заставить это работать быстрее? Или если есть - альтернативные способы переноса данных из одной субд в другую???[/list]

Добавлено: 01 апр 2005, 17:08
Kolinus
А экспортировать из одной и импортировать в другую а потом поменять схему таблиц ????
Некоторые (многие ?) средства для работы с базой позволяют импортировать данные в текстовый скрипт.
а по поводу альтернативных средств - вряд ли ты найдешь что-то более быстрое чем коннект через SQL напрямую - тут уже педаль только в базе

Добавлено: 02 апр 2005, 14:17
Chester
Дело в том что, делать экспорт, а за тем импорт - в моем слуае бессмысленно, т.к. экспорт/импорт займет 6-7 часов... (вся база около 4 Гб). По ээтому хотелось бы вытаскивать запросами только самые необходимые данные.

Добавлено: 02 апр 2005, 14:35
AiK
Chester, в DB2 должноы быть аналоги bulk insert (copy), когда данные вставляются без транзакционного контроля. Это заметно ускоряет вставку.