此演练将介绍如何在使用 Microsoft SQL Server 2005 Compact Edition 的 Microsoft Visual Studio 2005 中创建应用程序。
创建发布
- 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”节点(如果当前尚未展开),然后展开“复制”。
- 右键单击“本地发布”文件夹,然后选择“新建发布”。
- 在新建发布向导简介屏幕上,单击“下一步”。
- 如果以前未曾在此计算机上创建发布,将提示您配置分发服务器。选择第一个选项将本地计算机作为它自己的分发服务器,然后单击“下一步”。
- 如果以前未曾在此计算机上创建发布,将提示您指定快照文件夹。键入前面过程中创建的快照文件夹的共享路径。以 \\servername\share 格式键入共享路径,不要键入本地路径。在此演练中,我们建议您键入 \\computer\snapshot(其中 computer 是您计算机的名称),然后单击“下一步”。
- 在数据库列表中,选择“SQLMobile”,然后单击“下一步”。
- 在发布类型列表中,选择“合并发布”,然后单击“下一步”。
- 在“订阅服务器类型”页中,选择“是”以启用对 SQL Server Compact Edition 订阅服务器的支持,然后单击“下一步”。
- 在要发布的对象列表中,选中“表”复选框。如果展开“表”,您将发现 SQLMobile 数据库中的两个表都已被选中。单击“下一步”。
- 会通知您将向表中添加唯一标识符。所有合并项目均需要 uniqueindentifier 列。单击“下一步”。
- 在“筛选表行”页中,现在即可添加对已发布数据的筛选器。对于此演练,您将无需筛选数据。单击“下一步”。
- 在“快照代理”页中,您可以配置创建快照的时间以及快照代理运行的频率。单击“下一步”以接受默认设置。
- 在“代理安全性”对话框中,单击“安全设置”。
- 在“快照代理安全性”对话框中,输入前面过程中所创建帐户的登录信息。进程帐户为 computer_name\snapshot_agent(其中 computer_name 是您计算机的名称),密码为 p@ssw0rd。
- 单击“确定”以保存设置。
- 在“代理安全性”页中,单击“下一步”。
- 在“向导操作”屏幕上,您可以确定创建发布的时间以及是否希望创建脚本文件。清除“立即创建快照”,然后单击“下一步”。
- 在“完成该向导”屏幕上,键入 SQLMobile 作为发布的名称,然后单击“完成”。
- 将创建发布。向导完成后,单击“关闭”。
设置权限
您必须为快照代理帐户和 IIS 匿名用户帐户授予权限。还必须将 IIS 匿名用户帐户添加到发布访问列表 (PAL) 中。
设置数据库权限
- 在 的对象资源管理器中,展开“安全性”,右键单击“登录名”,然后选择“新建登录名”。
- 在“新建登录名”对话框中,选择“Windows 身份验证”,单击“搜索”,在“输入要选择的对象名称”框中键入 computername\snapshot_agent(其中 computername 为您的计算机名称),单击“检查名称”,然后单击“确定”。
- 在导航窗格中,选择“用户映射”窗格。
- 在数据库列表中,选择“distribution”和“db_owner”角色,选择“SQLMobile”和“db_owner”角色,然后单击“确定”。
- 右键单击“登录名”,然后选择“新建登录名”。
- 在“新建登录名”对话框中,选择“Windows 身份验证”,单击“搜索”,在“输入要选择的对象名称”框中键入 computername\iusr_computername(其中 computername 为您的计算机名称),单击“检查名称”,然后单击“确定”。
- 在导航窗格中,选择“用户映射”窗格。
- 在数据库列表中,选择“distribution”和“SQLMobile”,然后单击“确定”。
授予发布权限
- 在对象资源管理器中,展开“复制”,展开“发布”,右键单击“[SQLMobile]:SQLMobile”发布,然后单击“属性”。
- 在导航窗格中,选择“发布访问列表”。
- 单击“添加”。在“添加发布访问项”对话框中,列出了 IUSR 帐户。选择该帐户,然后单击“确定”。
- 请确保 IUSR 帐户当前位于 PAL 中,然后单击“确定”。
创建发布快照
只有在创建发布快照之后才可对 SQLMobile 发布的订阅进行初始化。
- 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”计算机节点。
- 展开“本地发布”文件夹,选择发布名称,右键单击“SQLMobile”,然后单击“查看快照代理状态”。
- 在“查看快照代理状态”对话框中,单击“启动”。
- 在进行下一操作之前,请确保已成功完成快照作业。
配置 IIS 和 SQL Server 2005 以实现 Web 同步
既然已对 SQL Server 配置了一个发布,则必须使该发布可以通过网络供 SQL Server Compact Edition 客户端使用。SQL Server Compact Edition 可通过 IIS 连接到 SQL Server。即,创建虚拟目录并对其进行配置,从而允许客户端访问 SQL Server Compact Edition 服务器代理。
安装 SQL Server Compact Edition 服务器组件
- 在 Windows 资源管理器中,定位到以下目录:
- C:\Program Files\Microsoft SQL Server\90\Tools\Binn\VSShell\Common7\IDE
- 双击 sqlce30setupen.msi 运行安装程序。
- 在“安装”向导的简介屏幕上,单击“下一步”。
- 阅读并接受 Microsoft 软件许可条款,然后单击“下一步”。
- 在“系统配置检查”屏幕上,确保所有项都通过检查。如果尚未安装 SQL Server 2000,则将列出该列表的最后一项作为警告。因为您正在使用 SQL Server 2005,所以这并不是问题。单击“下一步”。
- 在接下来的屏幕上,单击“下一步”,然后单击“安装”开始安装。
- 单击“完成”。
配置发布以进行 Web 同步
- 在 SQL Server Management Studio 的对象资源管理器中,展开“(本地)”计算机节点。
- 展开“本地发布”文件夹,选择发布名称,右键单击该名称,然后选择“配置 Web 同步”。
- 在该向导的简介屏幕上,单击“下一步”。
- 在“订阅服务器类型”屏幕上,选择“SQL Server Compact Edition”,然后单击“下一步”。
- 在“Web 服务器”屏幕的“运行 IIS 的计算机”文本框中,键入您计算机的名称(如果尚未提供),然后单击“创建新的虚拟目录”。
- 在显示的树中,展开该计算机,展开“网站”,然后选择“默认网站”。
- 单击“下一步”。
- 在“虚拟目录信息”屏幕上的“别名”文本框中,键入 SQLMobile,然后单击“下一步”。
- 如果收到警告对话框,请单击“是”。
- 在“安全通信”屏幕中,选择“不需要使用安全通道 (SSL)”。
- 重要提示 在生产环境中,应该启用 SSL 加密以保护在订阅服务器与运行 IIS “客户端身份验证”屏幕的服务器之间通过 Internet 交换的数据,选择“客户端将以匿名方式进行连接”,然后单击“下一步”。
- 在“匿名访问”屏幕上,单击“下一步”接受默认设置。
- 在“快照共享访问”屏幕上,键入 \\computer\snapshot(其中 computer 是您计算机的名称),然后单击“下一步”。
- 如果收到快照共享为空的警告,请单击“是”。
- 单击“完成”。
- 单击“关闭”。
- 在 Internet Explorer 的“地址”中,输入 URL http://localhost/SQLMobile/sqlcesa30.dll?diag,然后单击“转到”。从而以诊断模式连接到服务器。确保 SQL Server Compact Edition 服务器代理诊断报告显示成功。
SQL Server Compact Edition 任务
如果在开发要使用 SQL Server Compact Edition 的应用程序之前预先创建 SQL Server Compact Edition 数据库和订阅,通常会节省大量时间。SQL Server Management Studio 允许您在本地计算机上创建并使用 SQL Server Compact Edition 数据库。然后,您可以在开发应用程序时使用此数据库。
创建新的 SQL Server Compact Edition 数据库
- 在 SQL Server Management Studio 的对象资源管理器中,单击“连接”,然后选择“SQL Server Compact Edition”。
- 在“数据库文件”字段中,选择“<新建数据库…>”。
- 在文件名文本框中,键入 c:\sqlmobile.sdf,然后单击“确定”。
- 如果您收到有关空密码的警告,请单击“是”。本教程中的数据库没有密码保护或进行加密。
- 在“连接到服务器”对话框中,单击“连接”。
- 将在对象资源管理器中添加名为“SQL Server Compact Edition [My Computer\...\sqlmobile]”的新节点。