我有權訪問(即將開發的)可從遠程數據庫返回數據的Web服務。每天從遠程服務器數據庫傳輸數據到本地數據庫中
數據的使用者是需要將該數據插入本地數據庫(不一定是SQL Server)的Windows/.NET應用程序。
此同步是單向的 - >從服務器到本地數據庫。然而,本地數據庫可以擁有比服務器數據庫更多的數據(通過.NET應用程序本地插入)。
我該如何實現這種數據傳輸?我現在有一些具體問題:
- Web服務應該返回什麼類型的數據?
- 如何只詢問已在本地數據庫中找到的不是 的Web服務中的數據?
我有權訪問(即將開發的)可從遠程數據庫返回數據的Web服務。每天從遠程服務器數據庫傳輸數據到本地數據庫中
數據的使用者是需要將該數據插入本地數據庫(不一定是SQL Server)的Windows/.NET應用程序。
此同步是單向的 - >從服務器到本地數據庫。然而,本地數據庫可以擁有比服務器數據庫更多的數據(通過.NET應用程序本地插入)。
我該如何實現這種數據傳輸?我現在有一些具體問題:
您應該使用Windows服務來執行上述任務。您可以安排Windows服務在一天內運行一次,以將數據從遠程數據庫服務器導入本地服務器。
您必須編寫自己的邏輯來確定哪些數據存在於本地數據庫並導入本地數據存儲中不存在的數據。你必須只在wndows服務中編寫所有這些邏輯。
1)你可以有窗戶的服務或控制檯應用程序更好地與Windows的服務去爲以下原因: -
Windows服務仍會繼續運行,如果用戶沒有登錄到PC(會即使服務器坐在登錄提示符下運行)(***注 - 這可能取決於您運行的Windows版本)。
服務可以運行的高權限的帳戶,如網絡服務或本地系統或用戶 - 他們在這方面有更多的可配置性
服務也已內置在啓動選項,停止,重新啓動並在運行時暫停(有時)
您還可以爲服務設置失敗條件,如失敗時自動重新啓動。
2)數據集或數據表是你所需要的(過濾服務器上)中的所有數據後,讓所有你需要做的就是插入目標數據庫/數據庫記錄。 3)就過濾條件而言,您可以根據您的方便進行配置,我希望每天執行一次(在日期結束時)並插入當天的所有記錄。
只限於本地數據庫中尚未存在的數據。一種方法是時間戳。 Web服務需要知道自發送時間戳以來哪些數據發生了變化。使用數據集,您將獲得當前的時間戳記。 – Paparazzi