将DB2表行加载为Marklogic文档

时间:2012-01-11 19:02:58

标签: db2 loading marklogic

是否有任何工具可以将DB2表行快速转换为可以加载到Marklogic的XML文档集合?

3 个答案:

答案 0 :(得分:1)

DB2支持SQL:2003中引入的SQL / XML发布扩展。这些函数包括XMLSERIALIZE,XMLELEMENT,XMLATTRIBUTE和XMLFOREST,可以轻松添加到SQL SELECT语句中,以便为结果集中的每一行生成一个格式良好的XML文档。通过编写从DB2的目录视图中检索表名和列布局的查询,可以为大量表自动创建XML发布SELECT语句。

答案 1 :(得分:0)

这样做的一种方法是使用MLSQL工具包(http://developer.marklogic.com/code/mlsql)。它允许从MarkLogic中的XQuery代码中访问关系数据库。不确定返回的数据实际上是什么样子,但在XQuery中处理它应该很容易,并将数据作为XML插入到MarkLogic中。

请确保不要尝试在一个语句中加载一百万条记录,而是尝试一次生成批量的1000条记录。产卵也允许用多个线程处理它,因此也应该更快...

HTH!

答案 2 :(得分:0)

您是否需要流式从DB2到MarkLogic?或者您可以暂时所有文档转储到中间文件系统,然后将其读入?如果你可以转储,那么只需使用一些DB2工具(如上面的@Fred的答案)将行导出到文件系统中的一堆XML documenet,并使用多种方法之一在一个充满XML文件的目录中读入MarkLogic(如Information Studio(UI或apis),RecordLoader等)。

如果您不想将它们作为中介存储在文件系统中,那么您可以为MarkLogic编写一个InformationStudio插件,该插件将拉出每一行并将文档插入MarkLogic。您需要一些插件可以调用的Web服务或休息端点来从DB2中提取文档数据。

或者,我怀疑你可以使用DB2工具(由@Fred描述),它可以让你在表的每一行执行一些代码。如果您可以在Java(或.Net)中执行此操作,那么请使用MarkLogic XCC API,这样您就可以将文档写入MarkLogic。