2012-11-04 128 views
0

我在Oracle數據庫中有一個數據庫模式。我也有來自第三方供應商的數據轉儲。我在Linux機器上使用sql加載器腳本加載他們的數據。數據庫問題

我們也有每天的批量更新。

的數據被認爲是從數據沒有錯誤。例如。如果在第一天將數據「A」插入到數據庫中並且在進一步加載(假設)中不會出現數據「A」。如果我們得到一個名爲'A'的數據,那麼我們會得到一個主鍵違規。

問題:爲了避免這些違規行爲,我們應該建立一個分析器來分析數據錯誤或有其他更好的解決方案。

回答

2

我建立了一個ETL系統的公司,有包含商業交易數據線平面文件的日常飼料。數據是假設遵循一個記錄的模式,但實際上有很多不同類型的侵犯每天和文件到文件。

我們建立了含有比更大所有空列SQL臨時表中應該需要VARCHAR處理並加載了平面文件數據到使用高效的批量加載工具,這些臨時表。然後,我們在數據庫的上下文中執行一系列數據一致性檢查,以確保原始(分階段)數據可以交叉加載到正確的生產表。

沒有走出臨時表的環境,直到所有的編輯都過去了。

將平面文件加載到登臺表的優點是,您可以利用RDBMS執行設置操作並輕鬆地將新值與先前文件中的現有值進行比較,而無需構建特殊的平面文件處理代碼。

+0

如果我遇到任何問題,請嘗試這一個並讓您知道。 – vvekselva