Загрузка строк таблицы DB2 как документов Marklogic - PullRequest
0 голосов
/ 11 января 2012

Существует ли какой-либо инструмент для быстрого преобразования строк таблицы DB2 в коллекцию документов XML, которые мы можем загрузить в Marklogic?

Ответы [ 3 ]

1 голос
/ 12 января 2012

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

0 голосов
/ 13 января 2012

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

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

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

0 голосов
/ 12 января 2012

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

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

НТН!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...