2015-12-13 19 views
0

在網站中使用兩個數據庫MAIN和TEMP。 TEMP數據庫用於管理從MAIN獲取的用於插入/更新的數據,以及發佈移回MAIN數據庫的數據。什麼是發佈時的錯誤處理方法?將數據從一個數據庫管理到另一個數據庫的方法

我認爲以下兩種方法:

  1. 回滾腳本 - 如果出現錯誤,而INSERT/UPDATE然後回滾可以提供幫助。

  2. 第三個數據庫概念 - 引入與MAIN相同的第三個數據庫,首先使用該數據庫進行插入/更新,如果結果成功,則執行相同的命令到主數據庫,否則不需要更新主數據庫。

我不確定哪兩種方法更好。有沒有其他的方法?

建議是非常有幫助的。

回答

0

使用事務將數據從TEMP移動/更新到MAIN。你要麼希望它工作,要不,對不對?如果沒有,大概會將狀態置於TEMP中?

我唯一可以看到你可能想要做什麼不同的事情是,如果你故意不想在發佈失敗時將數據保留在TEMP中(例如,如果沒有明智的方法來遵循這種情況),在這種情況下,您可以考慮有兩個事務,一個是將它從TEMP中刪除,然後是第二個事務,只有在第一個事務成功時纔將它添加回MAIN,並且如果其中一個事務失敗,則報告錯誤並且整個事件必須重新啓動。

使用第三個DB doens't幫助。您仍然可以成功嘗試第三個數據庫,並通過MAIN失敗,並且使第三個數據庫與MAIN保持同步,這意味着您立即將所有工作翻倍。

相關問題