HOW TO:設定資料同步處理以使用 SQL Server 變更追蹤
更新: 2008 年 7 月
Visual Studio 2008 SP1 加入了對 SQL Server 2008 變更追蹤功能的支援。除了 [資料來源組態精靈] 之外,[設定資料同步處理] 對話方塊也加入了設定同步處理服務時啟用 SQL Server 變更追蹤的功能。
注意事項: |
---|
只有在遠端資料庫伺服器的連接設定為連接至 SQL Server 2008 資料庫時,才能使用啟用 SQL Server 變更追蹤的選項。 |
使用設定資料同步處理對話方塊啟用 SQL Server 變更追蹤
下列程序提供使用 [設定資料同步處理] 對話方塊設定同步處理服務時,要設定資料同步處理並啟用 SQL Server 變更追蹤所必須遵循的步驟。如需使用實際資料以及使用 [設定資料同步處理] 對話方塊設定同步處理的範例,請參閱逐步解說:建立偶爾連接的應用程式。
注意事項: |
---|
您的電腦可能會在下列說明中,以不同名稱或位置顯示某些 Visual Studio 使用者介面項目。您所擁有的 Visual Studio 版本以及使用的設定會決定這些項目。如需詳細資訊,請參閱 Visual Studio 設定。 |
若要使用設定資料同步處理對話方塊設定資料同步處理
按一下 [專案] 功能表上的 [加入新項目]。
按一下 [本機資料庫快取] 範本。
提供替代名稱,或保留預設名稱 LocalDataCache1.sync。
按一下 [加入]。
.sync 檔案會加入至專案,並且 [設定資料同步處理] 對話方塊隨即開啟。
將 [伺服器連接] 設定為您要連接的目標遠端 SQL Server 2008 資料庫。
將 [用戶端連接] 設定為將在本機儲存資料的本機 SQL Server Compact 3.5 資料庫。如果您沒有本機資料庫,可以保留預設值 DatabaseName.sdf (新),在專案中建立新的資料庫。新資料庫的名稱是以伺服器上資料庫的名稱為基礎。
注意事項: [確定] 按鈕預設是停用的,將資料表加入至 [快取的資料表] 區域之後才會啟用該按鈕。
選取 [使用 SQL Server 變更追蹤]。當 [伺服器連接] 設定為 SQL Server 2008 資料庫時,此選項預設會選取。
按一下 [加入] 開啟 [設定離線使用的資料表] 對話方塊。
選取您要加入至本機資料庫快取的資料表,然後設定同步處理模式 (同步處理時要下載的資料):
要下載的資料
第一次同步處理之後新的及累加的變更
這個設定會從伺服器中,擷取自前次同步處理資料以後所修改的資料錄。第一次呼叫同步處理時,將會下載整個資料表。
每次都用完整資料表
這個設定會以目前在伺服器上的版本來取代本機資料表。
注意事項: 針對要設定為離線使用的每個資料表設定同步處理模式。其他停用的選項只有在 SQL Server 變更追蹤未啟用時才能使用。
按一下 [確定]。
按一下 [顯示程式碼範例] 開啟 [程式碼範例] 對話方塊,其中會提供可啟動同步處理程序的程式碼範例。您可以將此程式碼複製到 [剪貼簿],再貼到程式中。
您可以選擇性地設定 [進階] 選項。
[設定資料同步處理] 對話方塊上的 [進階] 選項可提供設定,讓您控制是否要個別同步處理資料表或在單一交易中同步處理。這些選項也可允許進行 N-Tier 應用程式的程式碼分隔作業。
在單一交易中同步處理資料表:預設會清除這個選項,所有資料表都是個別同步處理。如果發生錯誤,只會復原發生錯誤之資料表的變更。如果選取這個選項,則會在單一交易中同步處理所有資料表。如果發現錯誤,則會復原所有資料表的所有變更。
建立同步處理元件:根據預設,會針對用戶端和伺服器產生同步處理元件。您可以將此選項設定為 [只在用戶端] 或 [僅限伺服器],以符合應用程式的需求。
伺服器專案位置:根據預設,將在目前的專案中針對伺服器產生同步處理元件。設定此選項,便可以針對伺服器將同步處理元件產生至方案中的任何 Visual Basic 或 Visual C# 專案。
用戶端專案位置:根據預設,將在目前的專案中針對用戶端產生同步處理元件。設定此選項,便可以針對用戶端將同步處理元件產生至方案中的任何 Visual Basic 或 Visual C# 專案。
按一下 [確定]。
如果其中一個本機快取資料表的同步處理模式設定為 [第一次同步處理之後新的及累加的變更],則需要對 SQL Server 資料庫進行更新,而且 [產生 SQL 指令碼] 對話方塊也會開啟。預設會同時選取對話方塊中的兩個選項:
[為累加的變更更新伺服器]。選取這個選項可以自動更新伺服器,以便在關閉這個對話方塊之後立即啟用遞增式同步處理。
[將 SQL 指令碼儲存在專案中供爾後使用]。選取這個選項可以將產生的 SQL 指令碼加入至專案,使您稍後可以在 SQL Server 資料庫上執行這些指令碼。專案中還會產生並加入復原指令碼。
按一下 [確定]。
注意事項: 在將伺服器更新為啟用變更追蹤之前,SQL Server 變更追蹤都不會啟用。
按一下 [確定] 之後,[資料來源組態精靈] 會開啟到 [選擇您的資料庫物件] 頁面 (每當有本機資料庫檔案加入至專案時,[資料來源組態精靈] 就會自動開啟)。
選取要加入到具型別資料集的資料表。
按一下 [完成]。
使用 [設定資料同步處理] 對話方塊設定資料同步處理之後,您必須將程式碼加入至應用程式以啟始同步處理。
注意事項: |
---|
當您同步處理資料時,本機資料庫會更新,而不是資料集中的資料表或應用程式中的任何其他物件。記得使用本機資料庫的更新資料來重新載入您的應用程式資料來源。例如,呼叫 TableAdapter.Fill 方法,將本機資料庫中更新過的資料載入資料集的資料表中。 |
若要加入程式碼以啟始同步處理
如果您從 [程式碼範例] 對話方塊中複製上一節的程式碼,便可以將此程式碼貼入應用程式。否則,您可以將下列程式碼插入要啟始同步處理程序之應用程式的任意位置:
' Call SyncAgent.Synchronize() to initiate the synchronization process. ' Synchronization only updates the local database, not your project's data source. Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent() Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize() ' Add code here to refill your application's data source ' with the updated data from the local database.
// Call SyncAgent.Synchronize() to initiate the synchronization process. // Synchronization only updates the local database, not your project's data source. LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent(); Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize(); // Add code to refill your application's data source // with the updated data from the local database.
使用資料來源組態精靈啟用 SQL Server 變更追蹤
下列程序提供使用 [資料來源組態精靈] 設定具型別資料集時,要設定資料同步處理並啟用 SQL Server 變更追蹤所必須遵循的步驟。
如需使用實際資料以及顯示如何在使用 [資料來源組態精靈] 建立具型別資料集時設定同步處理的範例,請參閱逐步解說:使用資料來源組態精靈建立偶爾連接的應用程式。
若要使用資料來源組態精靈將資料同步處理設定為使用 SQL Server 變更追蹤
在 [資料] 功能表上,按一下 [顯示資料來源]。
在 [資料來源] 視窗中,按一下 [加入新資料來源],開啟 [資料來源組態精靈]。
保留 [選擇資料來源類型] 頁面上已選取的 [資料庫] 預設值,然後按 [下一步]。
在 [選擇資料連接] 頁面上,執行下列其中一個步驟:
如果下拉式清單中有提供所需資料庫之 SQL Server 2008 版本的資料連接,請選取這個資料連接。
-或-
選取 [新增連接] 開啟 [選擇資料來源] 或 [新增/修改連接] 對話方塊,然後建立 SQL Server 2008 資料庫的新連接。如需詳細資訊,請參閱新增/修改連接對話方塊 (一般)。
如果資料庫需要密碼,請選取選項以輸入機密資料,然後按一下 [下一步]。
在 [將連接字串儲存到應用程式組態檔] 頁面上,按一下 [下一步]。
在 [選擇您的資料庫物件] 頁面上,展開 [資料表] 節點。
選取要加入至本機資料庫快取的資料表。
選取 [啟用本機資料庫快取]。
按一下 [選擇您的資料庫物件] 頁面上的 [下一步]
在 [選擇要快取的資料表] 頁面上選取要快取的資料表。
設定 [同步處理模式]。
第一次同步處理之後新的及累加的變更
這個設定會從伺服器中,擷取自前次同步處理資料以後所修改的資料錄。第一次呼叫同步處理時,會下載整個資料表。
每次都用完整資料表
這個設定會以目前在伺服器上的版本來取代本機資料表。
選取 [使用 SQL Server 變更追蹤]。當 [伺服器連接] 設定為 SQL Server 2008 資料庫時,此選項預設會選取。
按一下 [完成]。
如果其中一個本機快取資料表的同步處理模式設定為 [第一次同步處理之後新的及累加的變更],則需要對 SQL Server 資料庫進行更新,而且 [產生 SQL 指令碼] 對話方塊也會開啟。預設會同時選取對話方塊中的兩個選項:
[為累加的變更更新伺服器]。選取這個選項可以自動更新伺服器,以便在關閉這個對話方塊之後立即啟用遞增式同步處理。
[將 SQL 指令碼儲存在專案中供爾後使用]。選取這個選項可以將產生的 SQL 指令碼加入至專案,使您稍後可以在 SQL Server 資料庫上執行這些指令碼。專案中還會產生並加入復原指令碼。
按一下 [確定]。
注意事項: 在將伺服器更新為啟用變更追蹤之前,SQL Server 變更追蹤都不會啟用。
完成 [資料來源組態精靈] 之後,您必須將程式碼加入至應用程式以啟始同步處理。
注意事項: |
---|
當您同步處理資料時,本機資料庫會更新,而不是資料集中的資料表或應用程式中的任何其他物件。記得使用本機資料庫的更新資料來重新載入您的應用程式資料來源。例如,呼叫 TableAdapter.Fill 方法,從本機資料庫載入含有已更新資料的資料集資料表。 |
若要加入程式碼以啟始同步處理
將下列程式碼插入要啟始同步處理程序之應用程式的任意位置:
' Call SyncAgent.Synchronize() to initiate the synchronization process. ' Synchronization only updates the local database, not your project's data source. Dim syncAgent As LocalDataCache1SyncAgent = New LocalDataCache1SyncAgent() Dim syncStats As Microsoft.Synchronization.Data.SyncStatistics = syncAgent.Synchronize() ' Add code here to refill your application's data source ' with the updated data from the local database.
// Call SyncAgent.Synchronize() to initiate the synchronization process. // Synchronization only updates the local database, not your project's data source. LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent(); Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize(); // Add code to refill your application's data source // with the updated data from the local database.
請參閱
工作
概念
其他資源
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2008 年 7 月 |
已加入主題。 |
SP1 功能變更。 |