2012-01-11 5 views

ответ

0

Одним из способов сделать это будет использование инструментария MLSQL (http://developer.marklogic.com/code/mlsql). Он позволяет получать доступ к реляционным базам данных из вашего кода XQuery в MarkLogic. Не знаете, как на самом деле выглядят возвращенные данные, но его легко обрабатывать в XQuery и вставлять данные в XML в MarkLogic.

Просто убедитесь, что вы не пытаетесь загрузить миллион записей в одном выражении, но вместо этого попробуйте создать партии, чтобы сказать 1000 записей за раз. Нерест также позволит обрабатывать его несколькими потоками, поэтому по этой причине также должно быть быстрее.

HTH!

1

DB2 поддерживает расширения публикации SQL/XML, которые были введены в SQL: 2003. Эти функции включают XMLSERIALIZE, XMLELEMENT, XMLATTRIBUTE и XMLFOREST и легко добавляются в оператор SQL SELECT для создания простого, хорошо сформированного XML-документа для каждой строки в наборе результатов. Записывая запросы, которые извлекают имена таблиц и макеты столбцов из представлений каталога DB2, можно автоматизировать создание операторов SELECT для публикации XML для большого количества таблиц.

0

Нужно ли потоку от DB2 до MarkLogic? Или вы можете временно удалить dump все документы промежуточной файловой системе, а затем прочитать их? Если вы можете сбросить данные, просто используйте некоторые инструменты DB2 (например, ответ @ Fred выше), чтобы экспортировать строки в кучу XML-документов в файловой системе и использовать один из многих методов для чтения в каталоге, полном XML-файлов, в MarkLogic (например, Information Studio (UI или apis), RecordLoader и т. Д.).

Если вы не хотите хранить их в файловой системе в качестве посредника, тогда вы можете написать плагин InformationStudio для MarkLogic, который вытащит каждую строку и вставляет документ в MarkLogic. Вам нужна какая-то веб-служба или конечная точка отдыха, которую плагин мог бы вызвать для извлечения данных документа из DB2.

В качестве альтернативы, я подозреваю, что вы можете использовать инструментарий DB2 (описанный @Fred), который позволит вам выполнить код на строку таблицы. Если вы можете сделать это на Java (или .Net), тогда вытащите API-интерфейс MarkLogic XCC, который даст вам возможность записывать документы в MarkLogic.