2012-07-23 70 views
0

中需要的幫助開始在vb.net中的一個項目中從Oracle數據庫中讀取所有主數據(我只有對Oracle數據的讀訪問權限)在同一個項目中使用Oracle和sqlserver在邏輯

情況是我將Oracle的數據綁定到telerik數據網格,管理員可以選擇將更多用戶添加到網格並刪除用戶。

但是我不能在Oracle數據庫中添加/刪除數據我只能從中讀取數據。

所以我想在sql服務器中添加2個表addedusers和刪除用戶,並以某種方式檢查用戶是否在刪除的表中將它們從Oracle結果中刪除之後將其綁定到數據網格。

但我從來沒有工作過,也不知道如何與兩個數據庫進行交互。

如果你有更好的想法來處理這種情況請讓我知道。

也讓我知道如何扣除已刪除的用戶/如何將添加的用戶從sql表中添加到Oracle結果中。

感謝

回答

2

而不是試圖在兩個數據庫來協調的結果集,一個簡單的解決方案是把所有的用戶信息到SQL Server數據庫和工作從那裏。

  1. 設置ETL過程(例如,通過使用SSIS)所有的 拉從Oracle數據庫SQL Server中的計劃的基礎上的用戶信息到用戶表 。 ETL負責 將SQL Server數據庫中的用戶與來自 Oracle數據庫的用戶同步。
  2. 在SQL Server的Users表中包含一個名爲的列,刪除可用於跟蹤已刪除的用戶。
  3. 將您的telerik控件綁定到SQL Server 數據庫中的用戶表,而不是Oracle數據庫。

HTH

+0

在Oracle數據庫的數據不斷變化的。所以如果我使用SSIS(我不確定如果我可以在curr環境中使用它 - 我們沒有ETL)SSIS是否每天同步更新? – SmilingLily 2012-07-23 02:03:48

+1

這是正確的。您將需要創建適當的邏輯,但本質上這個過程是更新SQL Server中的匹配記錄,並在SQL Server中創建沒有找到匹配項的新記錄。 – Teppic 2012-07-23 02:20:55

+1

也可能值得看看SQL Server中的MERGE函數。 Google搜索** SQL Server MERGE **將返回大量信息。 – Teppic 2012-07-23 02:23:50