2012-01-11 58 views

回答

0

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

只要确保不要尝试在一条语句中加载一百万条记录,而是尝试产生一批可以说1000条记录的批次。产卵也将允许处理它与多个线程,所以应该更快的原因太..

HTH!

1

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

0

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

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

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