0
我有一個功能,即需要將UI中的數據插入到oracle中的兩個數據庫模式中。有近10個表需要添加數據。是否有任何方法通過將所有數據添加到數據庫或從兩個數據庫的所有表中刪除新添加的數據來維護數據完整性(兩種模式中的數據一致性)。我還沒有開始編寫代碼,只是想知道我們是否有任何好的方法來實現它。如何在向oracle中的兩個數據庫添加數據時實現數據完整性
我有一個功能,即需要將UI中的數據插入到oracle中的兩個數據庫模式中。有近10個表需要添加數據。是否有任何方法通過將所有數據添加到數據庫或從兩個數據庫的所有表中刪除新添加的數據來維護數據完整性(兩種模式中的數據一致性)。我還沒有開始編寫代碼,只是想知道我們是否有任何好的方法來實現它。如何在向oracle中的兩個數據庫添加數據時實現數據完整性
如果您不想控制所有插入的結果,則應該使用事務。解決這個問題的方法有多種,但您可能只需創建一個OracleTransaction對象實例,調用「begin」,然後執行代碼,最後您可以提交或回滾。另一種方法使用.net System.Transactions.TransactionScope(這是更好的方法),但需要安裝更多的Oracle組件。如果您正在寫入多個數據庫(oracle和SQL Server)並希望保持完整性,後者很有用。
OracleConnection _cn = new OracleConnection();
OracleTransaction _trn = _cn.BeginTransaction();
// command 1
OracleCommand _cmd = new OracleCommand();
_cmd.Transaction = _trn;
// command 2, 3, etc
if (!error) {
_trn.Commit();
} else {
_trn.Rollback();
}
這顯然不是完整的代碼,只是爲了給你一個結構的想法。