Есть ли инструмент для быстрого преобразования строк таблицы DB2 в коллекцию документов XML, которые мы можем загрузить в Marklogic?Загрузка строк таблицы DB2 в виде документов Marklogic
ответ
Одним из способов сделать это будет использование инструментария MLSQL (http://developer.marklogic.com/code/mlsql). Он позволяет получать доступ к реляционным базам данных из вашего кода XQuery в MarkLogic. Не знаете, как на самом деле выглядят возвращенные данные, но его легко обрабатывать в XQuery и вставлять данные в XML в MarkLogic.
Просто убедитесь, что вы не пытаетесь загрузить миллион записей в одном выражении, но вместо этого попробуйте создать партии, чтобы сказать 1000 записей за раз. Нерест также позволит обрабатывать его несколькими потоками, поэтому по этой причине также должно быть быстрее.
HTH!
DB2 поддерживает расширения публикации SQL/XML, которые были введены в SQL: 2003. Эти функции включают XMLSERIALIZE, XMLELEMENT, XMLATTRIBUTE и XMLFOREST и легко добавляются в оператор SQL SELECT для создания простого, хорошо сформированного XML-документа для каждой строки в наборе результатов. Записывая запросы, которые извлекают имена таблиц и макеты столбцов из представлений каталога DB2, можно автоматизировать создание операторов SELECT для публикации XML для большого количества таблиц.
Нужно ли потоку от 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.