欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

用SQL Server Compact Edition创建移动应用程序

程序员文章站 2022-03-15 15:24:20
...

此演练将介绍如何在使用 Microsoft SQL Server 2005 Compact Edition 的 Microsoft Visual Studio 2005 中 创建 应用 程序 。SQL Server Compact Edition 数据库将成为 SQL Server 2005 发布的订阅服务器,并且将使用合并复制从 SQL Server 2005 数据库中将

  此演练将介绍如何在使用 Microsoft SQL Server 2005 Compact Edition 的 Microsoft Visual Studio 2005 中创建应用程序。SQL Server Compact Edition 数据库将成为 SQL Server 2005 发布的订阅服务器,并且将使用合并复制从 SQL Server 2005 数据库中将信息下载到 SQL Server Compact Edition 数据库。

  1.   在此演练中,您将执行下列步骤:
  2.   配置 SQL Server 2005 发布。
  3.   配置 Internet 信息服务 (IIS) 以进行复制。
  4.   创建 SQL Server Compact Edition 订阅。
  5.   创建应用程序
  6.   部署应用程序并测试订阅。

  必备项

  若要按照此演练中所写的步骤执行此演练,则必须满足下列条件:

  •   安装有 Windows XP 和 IIS 的计算机。
  •   SQL Server 2005 Service Pack 2 (SP2) 或更高版本,与 Visual Studio 安装在同一台计算机上。

  SQL Server 2005 任务

  在创建应用程序之前,必须在 SQL Server 2005 中配置发布。在下列步骤中,您将创建一个示例数据库,然后从该数据库发布数据。您将使用预建的脚本文件创建数据库,然后使用新建发布向导来创建发布。

  创建数据库并在其中填充数据

  1、打开 SQL Server Management Studio。

  2、当提示您连接服务器时,请在“服务器名称”中键入 (local),然后单击“连接”。

  3、打开一个新查询窗口。创建 SQL Server Compact Edition 数据库,并用数据填充该数据库。

以下是引用片段:
  USE master;
  GO
  IF EXISTS (SELECT * FROM sys.sysdatabases WHERE name = 'SQLMobile')
  BEGIN
  DROP Database SQLMobile;
  END
  GO
  CREATE DATABASE SQLMobile;
  GO
  USE SQLMobile;
  GO
  CREATE TABLE MembershipData (MemberID INTEGER IDENTITY (1,1)
  CONSTRAINT pkMemberID PRIMARY KEY, MemberName NVarChar (50));
  CREATE TABLE FlightData (MemberID INTEGER FOREIGN KEY REFERENCES
  MembershipData(MemberID), Destination NVarChar (50), FlightStatus
  NVarChar(50), ArrivalDate DATETIME, FlownMiles INTEGER);
  INSERT INTO MembershipData (MemberName) VALUES ('Mr Don Hall');
  INSERT INTO MembershipData (MemberName) VALUES ('Mr Jon Morris');
  INSERT INTO MembershipData (MemberName) VALUES ('Ms TiAnna Jones');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (1, 'Seattle', 'Flight Delayed 1 hour', '8/25/00', '20000');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (2, 'London', 'Flight on time', '9/12/00', '15000');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (3, 'Sydney', 'Flight Gate Closing', '11/5/00', '30000');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (1, 'Tokyo', 'Delayed Fog', '5/25/00', '25000');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (2, 'Minneapolis', 'Flight on time', '5/1/00', '1000');
  INSERT INTO FlightData (MemberID, Destination, FlightStatus, ArrivalDate, FlownMiles)
  VALUES (3, 'Memphis', 'Flight Gate Closing', '1/5/00', '1000');
  GO

  4、单击“执行(!)”运行该脚本并创建数据库。此时,将运行该脚本,创建一个名为 SQLMobile 的新数据库。

  注意:

  您还可以按 F5,或者从“查询”菜单中选择“执行”来运行该查询。

  5、若要确认该数据库已创建,请在对象资源管理器中,展开“(本地)”,展开“数据库”,然后展开“SQLMobile”。如果没有列出 SQLMobile 数据库。请右键单击“数据库”,然后选择“刷新”以更新数据库列表。

  准备服务器以发布数据

  在创建发布之前,必须创建快照代理用户帐户,并创建一个将在其中存储快照文件的共享文件夹,准备服务器以进行发布。创建快照文件夹之后,该文件夹将用于服务器上的所有发布。如果以前已在此服务器上创建了发布,您可以跳过这些步骤。

  创建快照用户帐户

  1、从“控制面板”的“管理工具”中打开“计算机管理”。

  2、在“计算机管理”中,展开“系统工具”,展开“本地用户和组”,右键单击“用户”,然后选择“新用户”。

  3、在“新用户”对话框中,键入以下信息,然后单击“创建”:

  

字段

用户名

snapshot_agent

密码

p@ssw0rd

确认密码

p@ssw0rd

用户下次登录时须更改密码

未选中

密码永不过期

选中

  重要事项:

  这些设置应该仅用于测试。在生产环境中,请确保用户帐户设置符合您的网络安全要求。通常,您将对快照代理使用域用户帐户而不是使用本地用户帐户。

  创建快照文件夹

  1.   在 Windows 资源管理器中,创建一个名为“snapshot”的新文件夹。在此演练中,您可以在驱动器 C 的根目录下创建该文件夹:c:\snapshot。右键单击“snapshot”文件夹,然后选择“共享和安全”。
  2.   在“共享”选项卡上,选择“共享该文件夹”,然后单击“权限”。
  3.   在“快照的权限”中,单击“添加”。
  4.   在“输入要选择的对象名称”中,键入 computername\snapshot_agent(其中 computername 为本地计算机的名称),单击“检查名称”,然后单击“确定”。
  5.   在“快照的权限”中,选择“snapshot_agent”,分配“更改”和“读取”共享权限,然后单击“确定”。
  6.   选择“安全”选项卡。
  7.   单击“添加”。
  8.   在“输入要选择的对象名称”中,键入 computername\snapshot_agent(其中 computername 为本地计算机的名称),单击“检查名称”,然后单击“确定”。
  9.   选择“snapshot_agent”,然后将“写入”权限添加到已启用的权限列表中。现在,snapshot_agent 帐户将被授予下列权限:
  10.   读取和执行
  11.   列出文件夹目录
  12.   读取
  13.   写入
  14.   单击“确定”关闭“快照属性”窗口。
  15.   关闭 Windows 资源管理器。