2012-01-11 37 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。