将DB2表行作为Marklogic文档加载

将DB2表行作为Marklogic文档加载,db2,loading,marklogic,Db2,Loading,Marklogic,是否有任何工具可以将DB2表行快速转换为XML文档集合,然后加载到Marklogic?一种方法是使用MLSQL工具包()。它允许从MarkLogic中的XQuery代码中访问关系数据库。不确定返回的数据实际上是什么样子的,但在XQuery中处理它应该很容易,并将数据作为XML插入MarkLogic 只需确保不要试图在一条语句中加载一百万条记录,而是尝试一次生成成批的记录,比如1000条记录。产卵还允许使用多个线程处理它,因此也应该更快 嗯 DB2支持SQL:2003中引入的SQL/XML发布扩展

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

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

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


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

是否需要将从DB2流式传输到MarkLogic?或者您可以暂时将所有文档转储到中间文件系统中,然后读入它们吗?如果可以转储,那么只需使用一些DB2工具(如上面的@Fred答案)将行导出到文件系统中的一组XML文档网,并使用多种方法之一将目录中的XML文件读入MarkLogic(如InformationStudio(UI或API)、RecordLoader等)

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

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