複寫 ActiveX 控制項範例
更新: 2006 年 4 月 14 日
此讀我檔案詳細描述了如何安裝和執行「複寫 ActiveX 控制項範例」。
狀況
此範例示範如何在自訂應用程式中包括 SQL Distribution 和 SQL Merge 控制項。此範例對「發行者」、「散發者」和「訂閱者」使用 Microsoft SQL Server 2005 的單一執行個體。在此狀況中,SQL Distribution 控制項和 SQL Merge 控制項是在散發者端執行。此範例包含兩個不同的範例專案:Microsoft Visual C++ 6.0 主控台應用程式和 Microsoft Visual Basic 6.0 表單型應用程式。每一個專案同時示範 SQL Distribution 控制項和 SQL Merge 控制項。此範例也示範如何使用控制項的回呼功能來監督同步處理狀態。Visual Basic 6.0 應用程式也可讓您變更訂閱屬性。
![]() |
---|
若為 Managed 程式碼應用程式,請在 Microsoft.SqlServer.Replication 命名空間中使用 TransSynchronizationAgent 和 MergeSynchronizationAgent 類別。如需詳細資訊,請參閱<Planning for Replication Programming>。 |
語言
- Microsoft Visual Basic 6.0
- Microsoft Visual C++ 6.0
- Transact-SQL
必要條件
執行此範例之前,請確定已安裝下列軟體:
- SQL Server 2005,包括下列選擇性安裝的元件:
- 資料庫服務 (包括複寫)。
- 用戶端連接元件。
- 軟體開發套件 (SDK)。
- AdventureWorks 範例 OLTP 資料庫。此範例資料庫包含在 SQL Server 2005 中,也可以從 SQL Server 開發人員中心取得。
- SQL Server 2005 範例。這些範例包含在 SQL Server 2005 中,也可以從 SQL Server 開發人員中心取得。如需詳細資訊,請參閱<安裝範例>。
- Visual Studio 6.0、Visual Basic 6.0 或 Visual C++ 6.0。
附註:
64 位元 (IA64) 平台不支援此範例。
必要權限
「複寫 ActiveX 控制項」範例使用「Windows 驗證」。設定和執行範例所需的權限是以複寫安全性需求為基礎,如下所示:
- 若要執行 InstallReplicationControlSample.bat (用於建立複寫工作共用、設定複寫、建立發行集和產生初始快照集),您的 Windows 帳戶必須是系統管理員 (sysadmin) 固定伺服器角色的成員。
- 若要啟動 SQL Distribution 控制項或 SQL Merge 控制項來同步處理範例訂閱,Windows 帳戶必須是散發和訂閱資料庫中 db_owner 固定資料庫角色的成員。
建立和設定範例
若要建立範例專案並設定複寫拓撲,請執行下列動作:
- 執行複寫安裝指令碼。
- 使用 Visual Studio 6.0、Visual Basic 6.0 或 Visual C++ 6.0 建立 Visual Basic 或 Visual C++ 版本的範例。
若要設定複寫控制項範例
請確定已安裝 AdventureWorks 範例資料庫且已附加該資料庫。若未附加資料庫,請參閱《SQL Server 線上叢書》的<安裝 AdventureWorks 範例資料庫和範例>。
請確定已安裝 SQL Server Database Engine 範例的最新版本。如需詳細資訊,請參閱《SQL Server 線上叢書》的<下載和更新線上叢書>。
請確定正在執行 SQL Server Agent。您可以檢視此服務的狀態,並從 SQL Server Management Studio 中的 [物件總管] 啟動此服務。
導覽到「複寫 ActiveX 控制項」範例指令碼的安裝位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts。
執行 InstallReplicationControlSample.bat,並在系統提示時,輸入執行「快照集代理程式」作業所用之 Windows 帳戶的登入 (使用區分大小寫的格式 "DOMAIN\login") 和密碼。這會呼叫 sqlcmd.exe 以執行 CreateReplicationControlPublications.sql,其會執行下列動作:
- 檢查複寫是否已在本機伺服器上設定,如果沒有,則會使用散發資料庫將其設定為具有本機「散發者」的「發行者」。
- 卸除並重建範例發行集。
- 將發行項加入發行集中。
- 啟動「快照集代理程式」作業以產生發行集的初始快照集。
- 建立訂閱並註冊到發行集。
若要使用 Visual C++ 6.0 建立「複寫 ActiveX 控制項」範例
開啟 Visual C++ 6.0。在主功能表上,依序按一下 [檔案] 和 [開啟工作區],導覽到 C++ 專案檔的位置 (預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6 目錄),然後開啟 distsamp.dsw。
在 [目錄] 索引標籤的 [顯示目錄] 下拉清單中,按一下 [程式庫檔案],然後加入 C:\Program Files\Microsoft SQL Server\90\COM 路徑。此路徑假設 SQL Server 2005 已安裝到預設目錄。
在 [建立] 功能表上,按一下 [建立 distsamp.exe]。產生的 distsamp.exe 的預設位置是在 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Debug 或 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Release,視組建組態而定。
重複步驟 1 到 3 來建立 mergsamp.exe。
若要使用 Visual Basic 6.0 建立「複寫 ActiveX 控制項」範例
啟動 Visual Basic 6.0。在主功能表上,依序按一下 [檔案] 和 [開啟專案],導覽到 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6 目錄,然後開啟 replsamp.vbp。
在 [專案] 功能表上,按一下 [參考],然後在 [可用的參考] 下,確定已啟用下列參考:
- Microsoft SQL Distribution Control 9.0
- Microsoft SQL Merge Control 9.0
- Microsoft SQL Replication Errors 9.0
在 [檔案] 功能表上,按一下 [建立 ReplSamp.exe]。產生的 ReplSamp.exe 的預設位置是在 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6。
執行範例
若要使用範例,您必須導覽到所建立之可執行檔的位置並執行可執行檔。
若要執行 Visual C++ 6.0 版的「複寫 ActiveX 控制項」範例
導覽到 Visual C++ 6.0 版「複寫 ActiveX 控制項」範例的建立位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Debug。
執行 distsamp.exe 以啟動散發代理程式來同步處理提取訂閱與交易式發行集,並執行 mergsamp.exe 來同步處理提取訂閱與合併式發行集。
若要執行 Visual Basic 6.0 版的「複寫 ActiveX 控制項」範例
導覽到 Visual Basic 6.0 版「複寫 ActiveX 控制項」範例的建立位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6。
執行 ReplSamp.exe。
在 [複寫控制項 ActiveX 範例] 表單上,從 [發行集類型] 下拉清單中選取 [交易式] 或 [合併式],然後按一下 [取得訂閱屬性]。這會載入選定訂閱的屬性。
(選擇性) 此應用程式可用來同步處理本機電腦上的任何其他提取訂閱。按一下 [編輯] 來變更訂閱屬性,完成時按一下 [更新]。
按一下 [同步處理] 來同步處理訂閱。
(選擇性) 若要執行其中一個預設訂閱的快速同步處理,請按一下 [同步處理] 功能表中的 [交易式] 或 [合併式]。
移除範例
使用下列程序移除「複寫 ActiveX 控制項」範例。
若要移除「複寫 ActiveX 控制項」範例
導覽到「複寫 ActiveX 控制項」範例指令碼的安裝位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts。
執行批次檔 RemoveReplicationControlSample.bat。
當系統提示時,輸入 "Y" 並按 Enter 鍵,移除「發行者」端的所有複寫物件,移除訂閱資料庫中的所有複寫物件,並解除安裝「發行者」端的發行和散發。
重要事項:
此指令碼移除所有複寫基礎架構。如果您已建立使用此「發行者」或「散發者」的其他發行集,請不要執行 RemoveReplicationControlSample.bat。相反地,您應手動移除範例發行集。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<如何:刪除發行集 (SQL Server Management Studio)>或<How to: Delete a Publication (Replication Transact-SQL Programming)>。 在 AdventureWorksLocal 資料庫上執行 sp_removedbreplication。
將資料庫內容變更為 master 資料庫並執行
DROP DATABASE AdventureWorksLocal
。
註解
範例只供教育目的之用。它們不能用於實際執行環境,而且尚未在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在生產 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式及組件。 Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在實際 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式和組件。
請參閱
概念
其他資源
Planning for Replication Programming
複寫開發人員資訊中心
說明及資訊
變更歷程記錄
版本 | 歷程記錄 |
---|---|
2006 年 4 月 14 日 |
|