复制 ActiveX 控件示例
更新日期: 2006 年 4 月 14 日
此自述文件详细介绍了如何安装和运行“复制 ActiveX 控件”示例。
应用场景
本示例说明了如何在自定义应用程序中包括 SQL 分发控件和 SQL 合并控件。本示例对发布服务器、分发服务器和订阅服务器使用了 Microsoft SQL Server 2005 的一个实例。在本例中,SQL 分发控件和 SQL 合并控件在分发服务器上运行。本示例包含两个独立的示例项目:一个 Microsoft Visual C++ 6.0 控制台应用程序和一个 Microsoft Visual Basic 6.0 基于窗体的应用程序。每个项目都对 SQL 分发控件和 SQL 合并控件进行了说明。本示例还说明了如何使用控件的回调功能来监视同步状态。通过 Visual Basic 6.0 应用程序还可以更改订阅属性。
注意: |
---|
对于托管代码应用程序,请使用 Microsoft.SqlServer.Replication 命名空间中的 TransSynchronizationAgent 和 MergeSynchronizationAgent 类。有关详细信息,请参阅Planning for Replication Programming。 |
语言
- Microsoft Visual Basic 6.0
- Microsoft Visual C++ 6.0
- Transact-SQL
必备组件
在运行此示例之前,请确保安装了下列软件:
- SQL Server 2005,包括下列可选安装组件:
- Database Services(包括复制)。
- 客户端连接组件。
- 软件开发包 (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 分发控件或 SQL 合并控件以同步示例订阅,您的 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 数据库引擎示例。有关详细信息,请参阅 SQL Server 联机丛书中的下载和更新联机丛书。
请确保 SQL Server 代理正在运行。您可以通过 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 日 |
|