2011-11-16 34 views
3

我們有一個應用程序,要求我們的客戶在現場有一個SQL服務器實例。根據他們的請求,應用程序需要將其數據庫中的數據與數據中心中的副本同步。C#如何通過Internet同步數據庫實例之間的數據

我們使用的是.Net 3.5 SP1。我們需要準確地同步數據,包括IDENTITY列。

我們寧願使用類似LINQ to SQL的東西,這樣可以讓我們對映射實體進行一些簡單的選擇和插入/更新調用。但是,IDENTITY列似乎是LINQ和類似方法的問題。

我們可以使用構建的SQL語句完成此操作,並根據需要打開/關閉IDENTITY INSERT,但我更喜歡更優雅的解決方案。

謝謝!

**編輯 - 我們需要編寫我們自己的解決方案,我們確實需要使用.Net 3.5 SP1來完成它。我不會花時間解釋所有原因,但請將建議限制在.Net操場的選項中。

+0

提供鏈接到很好的教程,這是VPN連接或公共連接? – Maess

+1

有幾件事你可以做。查看複製(http://msdn.microsoft.com/en-us/library/ms151198.aspx)和鏈接服務器(http://msdn.microsoft.com/en-us/library/ms188279.aspx) 。您可能能夠讓SQL Server爲您完成所有工作,而不要求您的應用程序執行其他任何操作,然後告訴SQL Server開始處理該過程。使用鏈接服務器,您可能可以運行自己的SQL語句來執行插入和更新。 –

+0

@Maess - 爲了解決問題,你可以考慮一個私人連接。我可以處理所有的運輸問題。 –

回答

1

Microsoft Sync Framework可以成爲您的解決方案。這是來自Microsoft的框架描述:

Microsoft Sync Framework是Microsoft提供的一種數據同步平臺,可用於跨多個數據存儲同步數據。同步框架包括傳輸無關的體系結構,在其中數據商店特定的同步提供,仿照ADO.NET數據提供API,可以插入。


同步框架是一個全面的數據同步解決方案,使開發人員可以通過任何網絡拓撲結構上的任何數據協議構建支持任何數據庫同步的解決方案msdn.microsoft.com

爲了您舒適的subject

0

如果只是需要同步的幾個表,並且表中沒有大量數據(現在和將來),則可以從服務器開發某種批量複製,並在服務器上開發批量插入例程客戶的服務器。

既然你說過你不能使用SQL Server複製服務或SSIS,那麼可能會寫一個備份/恢復過程。您可以對數據庫進行定時備份,然後將其提供給調用的應用程序,然後該應用程序可以複製備份,將其恢復到客戶服務器上的另一個實例,然後通過任意數量的方法提取所需的所有數據,並且它本地存在客戶服務器。

除此之外,我認爲如果您不能將解決方案建立在做這類事情的工具上,您可能會要求維護和同步噩夢。

相關問題