是否有任何工具可以将DB2表行快速转换为可以加载到Marklogic的XML文档集合?
答案 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。