繁体   English   中英

将DB2表行作为Marklogic文档加载

[英]Loading DB2 table rows as Marklogic documents

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

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

一种实现方法是使用MLSQL工具包( http://developer.marklogic.com/code/mlsql )。 它允许从MarkLogic中的XQuery代码中访问关系数据库。 不确定返回的数据的实际外观如何,但是应该很容易在XQuery中对其进行处理,并将您的数据作为XML插入MarkLogic。

只需确保不要尝试在一个语句中加载一百万条记录,而是尝试一次生成一批比如说1000条记录。 生成也将允许使用多个线程来处理它,因此也应由于该原因而更快。

HTH!

您是否需要从流式传输到DB2 MarkLogic? 还是可以暂时所有文档转储到中间文件系统中然后读入它们? 如果可以转储,则只需使用一些DB2工具(如上述@Fred的答案)即可将行导出到文件系统中的一堆XML文档中,并使用多种方法之一将充满XML文件的目录读入MarkLogic中(例如Information Studio(UI或API),RecordLoader等)。

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

另外,我怀疑您可以使用DB2工具(由@Fred描述),该工具将使您可以在表的每一行执行一些代码。 如果您可以使用Java(或.Net)来做到这一点,那么请引入MarkLogic XCC API,这将使您能够将文档写入MarkLogic。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM