共用方式為


複寫 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 應用程式也可讓您變更訂閱屬性。

ms345272.note(zh-tw,SQL.90).gif附註:
若為 Managed 程式碼應用程式,請在 Microsoft.SqlServer.Replication 命名空間中使用 TransSynchronizationAgentMergeSynchronizationAgent 類別。如需詳細資訊,請參閱<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。
    ms345272.note(zh-tw,SQL.90).gif附註:
    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++ 版本的範例。

若要設定複寫控制項範例

  1. 請確定已安裝 AdventureWorks 範例資料庫且已附加該資料庫。若未附加資料庫,請參閱《SQL Server 線上叢書》的<安裝 AdventureWorks 範例資料庫和範例>。

  2. 請確定已安裝 SQL Server Database Engine 範例的最新版本。如需詳細資訊,請參閱《SQL Server 線上叢書》的<下載和更新線上叢書>。

  3. 請確定正在執行 SQL Server Agent。您可以檢視此服務的狀態,並從 SQL Server Management Studio 中的 [物件總管] 啟動此服務。

  4. 導覽到「複寫 ActiveX 控制項」範例指令碼的安裝位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts。

  5. 執行 InstallReplicationControlSample.bat,並在系統提示時,輸入執行「快照集代理程式」作業所用之 Windows 帳戶的登入 (使用區分大小寫的格式 "DOMAIN\login") 和密碼。這會呼叫 sqlcmd.exe 以執行 CreateReplicationControlPublications.sql,其會執行下列動作:

    • 檢查複寫是否已在本機伺服器上設定,如果沒有,則會使用散發資料庫將其設定為具有本機「散發者」的「發行者」。
    • 卸除並重建範例發行集。
    • 將發行項加入發行集中。
    • 啟動「快照集代理程式」作業以產生發行集的初始快照集。
    • 建立訂閱並註冊到發行集。

若要使用 Visual C++ 6.0 建立「複寫 ActiveX 控制項」範例

  1. 開啟 Visual C++ 6.0。在主功能表上,依序按一下 [檔案][開啟工作區],導覽到 C++ 專案檔的位置 (預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6 目錄),然後開啟 distsamp.dsw。

  2. [目錄] 索引標籤的 [顯示目錄] 下拉清單中,按一下 [程式庫檔案],然後加入 C:\Program Files\Microsoft SQL Server\90\COM 路徑。此路徑假設 SQL Server 2005 已安裝到預設目錄。

  3. [建立] 功能表上,按一下 [建立 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,視組建組態而定。

  4. 重複步驟 1 到 3 來建立 mergsamp.exe。

若要使用 Visual Basic 6.0 建立「複寫 ActiveX 控制項」範例

  1. 啟動 Visual Basic 6.0。在主功能表上,依序按一下 [檔案][開啟專案],導覽到 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6 目錄,然後開啟 replsamp.vbp。

  2. [專案] 功能表上,按一下 [參考],然後在 [可用的參考] 下,確定已啟用下列參考:

    • Microsoft SQL Distribution Control 9.0
    • Microsoft SQL Merge Control 9.0
    • Microsoft SQL Replication Errors 9.0
  3. [檔案] 功能表上,按一下 [建立 ReplSamp.exe]。產生的 ReplSamp.exe 的預設位置是在 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6。

執行範例

若要使用範例,您必須導覽到所建立之可執行檔的位置並執行可執行檔。

若要執行 Visual C++ 6.0 版的「複寫 ActiveX 控制項」範例

  1. 導覽到 Visual C++ 6.0 版「複寫 ActiveX 控制項」範例的建立位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\CPP6\Debug。

  2. 執行 distsamp.exe 以啟動散發代理程式來同步處理提取訂閱與交易式發行集,並執行 mergsamp.exe 來同步處理提取訂閱與合併式發行集。

若要執行 Visual Basic 6.0 版的「複寫 ActiveX 控制項」範例

  1. 導覽到 Visual Basic 6.0 版「複寫 ActiveX 控制項」範例的建立位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\VB6。

  2. 執行 ReplSamp.exe。

  3. [複寫控制項 ActiveX 範例] 表單上,從 [發行集類型] 下拉清單中選取 [交易式][合併式],然後按一下 [取得訂閱屬性]。這會載入選定訂閱的屬性。

  4. (選擇性) 此應用程式可用來同步處理本機電腦上的任何其他提取訂閱。按一下 [編輯] 來變更訂閱屬性,完成時按一下 [更新]

  5. 按一下 [同步處理] 來同步處理訂閱。

  6. (選擇性) 若要執行其中一個預設訂閱的快速同步處理,請按一下 [同步處理] 功能表中的 [交易式][合併式]

移除範例

使用下列程序移除「複寫 ActiveX 控制項」範例。

若要移除「複寫 ActiveX 控制項」範例

  1. 導覽到「複寫 ActiveX 控制項」範例指令碼的安裝位置。預設為 C:\Program Files\Microsoft SQL Server\90\Samples\Replication\ActiveX\Scripts。

  2. 執行批次檔 RemoveReplicationControlSample.bat。

  3. 當系統提示時,輸入 "Y" 並按 Enter 鍵,移除「發行者」端的所有複寫物件,移除訂閱資料庫中的所有複寫物件,並解除安裝「發行者」端的發行和散發。

    ms345272.note(zh-tw,SQL.90).gif重要事項:
    此指令碼移除所有複寫基礎架構。如果您已建立使用此「發行者」或「散發者」的其他發行集,請不要執行 RemoveReplicationControlSample.bat。相反地,您應手動移除範例發行集。如需詳細資訊,請參閱《SQL Server 線上叢書》中的<如何:刪除發行集 (SQL Server Management Studio)>或<How to: Delete a Publication (Replication Transact-SQL Programming)>。
  4. 在 AdventureWorksLocal 資料庫上執行 sp_removedbreplication

  5. 將資料庫內容變更為 master 資料庫並執行 DROP DATABASE AdventureWorksLocal

註解

範例只供教育目的之用。它們不能用於實際執行環境,而且尚未在實際執行環境中測試過。Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在生產 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式及組件。 Microsoft 不提供對這些範例的技術支援。若沒有系統管理員的權限,就不應該在實際 SQL Server 資料庫或報表伺服器上,連接或使用範例應用程式和組件。

請參閱

概念

複寫範例

其他資源

Planning for Replication Programming
複寫開發人員資訊中心

說明及資訊

取得 SQL Server 2005 協助

變更歷程記錄

版本 歷程記錄

2006 年 4 月 14 日

新增內容:
  • 新增有關 64 位元 (IA64) 平台不支援此範例的注意事項。