使用它可以创建SQL Server Compact,数据库将作为 SQL Server 2005

必须在 SQL Server 2005 中配置发布,然后从该数据库发布数据,使用 SQL Server Mobile 创建移动应用程序 ,Server Mobile) 的 Visual Studio 2005 中创建应用程序,3.安装必备软件,2.获取 SQL Server Mobile,而Microsoft SQL Server Compact,使用它可以创建SQL Server Compact,数据库同步配置 配置SQL Server 2000 数据库同步时的 常见问题,数据库同步配置的原理 从0开始一步一步配置SQL Server 2000

图片 23

private void Form1_Load(object sender, EventArgs e)

  • 安装有 Windows XP 和 IIS 的计算机
  • Visual Studio 2005
  • SQL Server 2005,与 Visual Studio 安装在同一台计算机上

8.使用SQL Server Mobile 数据库

            AreaRegistration.RegisterAllAreas();

完成上面的步骤其实复制也就是成功了。但是如何来知道复制是否成功了呢?这里可以通过这种方法来快速看是否成功。展开出版服务器下面的复制——发布内容——右键发布内容——属性——击活——状态然后点立即运行代理程序接着点代理程序属性击活调度把调度设置为每一天发生,每一分钟,在0:00:00和23:59:59之间。接下来就是判断复制是否成功了打开C:\Program
Files\Microsoft SQL
Server\MSSQL\REPLDATA\unc\XIAOWANGZI_database_database下面看是不是有一些以时间做为文件名的文件夹差不多一分中就产生一个。要是你还不信的话就打开你的数据库看在订阅的服务器的指定订阅数据库下看是不是看到了你刚才所发布的表

更改 SubscriberConnectionString
值,以便该值指向文件名变量中指定的正确路径和文件名。

在此演练中,您将学习如何在使用 SQL Server 2005 Mobile Edition (SQL
Server Mobile) 的 Visual Studio 2005 中创建应用程序。SQL Server Mobile
数据库将作为 SQL Server 2005
发布的订阅服务器,并使用合并复制来交换信息。

7.使用 Internet Explorer 检查 SQL Server Mobile 服务器代理配置

在 Internet Explorer 中,
输入 SQL Server Mobile 服务器代理的 URL
(例如 sqlce 为虚拟目录)。
如果 SQL Server Mobile 服务器代理配置正确,
Internet Explorer 将显示字符串“SQL Server Mobile 服务器代理 3.0”。

通过在 URL 结尾处使用 ?diag 和 ?stat
参数,您可以查找诊断和统计详细信息。

 

回答:应该先建一个有管理员组权限的帐户,然后用在这。

添加数据连接

  1. 打开 SQL Server Management Studio。

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

  3. 打开一个新查询窗口。创建一个 SQLMobile
    数据库,并在该数据库中填充数据。

    USE master;
        GO
        DROP Database SQLMobile;
        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');
    
  4. 单击“执行(!)”运行该脚本并创建数据库。此时,将运行该脚本,创建一个名为
    SQLMobile 的新数据库。

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

     

     

  5. 若要确认已创建该数据库,请在对象资源管理器中,依次展开“(本地)”、“数据库”和“SQLMobile”。如果未列出该
    SQLMobile
    数据库,请通过右键单击“数据库”,再选择“刷新”,来更新数据库列表。

5.安装服务器环境

如果 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile)
应用程序
要求在 Microsoft SQL Server 数据库和 SQL Server Mobile
数据库之间交换数据,
则必须安装并配置以下各项:
* Microsoft Internet 信息服务 (IIS)
* SQL Server 2005 或 SQL Server 2000
* SQL Server Mobile 服务器工具(安装工具)

SQL Server Mobile 环境可以配置为单服务器环境或多服务器环境。
在单服务器环境中,所有组件在一台计算机上。
在多服务器环境中,IIS 和 SQL Server 在不同的计算机上。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Data.Entity;

namespace EntityFramerwork.Models
{
    public class MyStoreEntities : DbContext
    {
        public DbSet<Administrator> Administrators { get; set; }
        public DbSet<Classification> Classifications { get; set; }
        public DbSet<Commodity> Commoditys { get; set; }
    }
}

4.设置SQL
Server身份验证模式,解决连接时的权限问题(发布/订阅服务器均做此设置)

[C#]

保护发布的安全性

若要保护发布,您必须首先向数据库安全列表中添加 IIS
匿名用户帐户,然后将该帐户添加到发布访问列表 (PAL) 中。

图片 1保护发布

  1. 在对象资源管理器中,展开“安全性”,右键单击“登录”,然后选择“新建登录”。

  2. 在“新建登录”对话框中,选择“Windows 身份验证”,键入
    computername\iusr_computername(其中 computername
    是您计算机的名称)。

  3. 在导航窗格中,选择“数据库访问”窗格。

  4. 在数据库列表中,选择“SQLMobile”,然后单击“确定”。

  5. 在对象资源管理器中,展开“复制”,展开“发布”,右键单击“SQLMobile:SQLMobile”发布,然后选择“属性”。

  6. 在导航窗格中,选择“发布访问列表”。

  7. 单击“添加”。在“添加发布访问项”对话框中,列出了 IUSR
    帐户。选择该帐户,然后单击“确定”。

  8. 请确保 IUSR 帐户当前位于 PAL 中,然后单击“确定”。

图片 2配置 IIS 和 SQLServer 2005
以进行 Web
同步

既然 SQL Server 已经配置了发布,您必须使该发布可以由 SQL Server Mobile
客户端通过网络进行访问。SQL Server Mobile 通过 IIS 连接到 SQL
Server。特别是,您可以创建并配置一个虚拟目录,以允许客户端访问 SQL
Server Mobile 服务器代理。

图片 3安装 SQLServer Mobile
服务器组件

  1. 在 Windows 资源管理器中,导航到以下目录:

    C:\Program Files\Microsoft SQL
    Server\90\Tools\Binn\VSShell\Common7\IDE

  2. 双击 sqlce30setupen.msi 运行安装程序。

  3. 在“安装”向导的简介屏幕上,单击“下一步”。

  4. 阅读并接受 EULA 条款,然后单击“下一步”。

  5. 在“系统配置检查”屏幕上,确保所有项都通过检查。如果尚未安装 SQL
    Server 2000,将列出该列表的最后一项作为警告。因为您正在使用 SQL
    Server 2005,这并不是问题。单击“下一步”。

  6. 在接下来的屏幕上,单击“下一步”,然后单击“安装”开始安装。

  7. 单击“Finish”。

图片 4配置发布以进行 Web
同步

  1. 在 SQL Server Management Studio
    的对象资源管理器中,展开“(本地)”计算机节点。

  2. 右键单击“复制”文件夹,然后选择“配置 Web 同步”。

  3. 在该向导的简介屏幕上,单击“下一步”。

  4. 在“订阅服务器类型”屏幕上,选择“SQL Server Mobile
    Edition”,然后单击“下一步”。

  5. 在“Web 服务器”屏幕的“运行 IIS
    的计算机”文本框中,键入您计算机的名称(如果尚未提供),然后单击“创建新的虚拟目录”。

  6. 在显示的树中,展开该计算机,展开“网站”,然后选择“默认网站”。

  7. 单击“下一步”。

  8. 在“虚拟目录信息”屏幕上的“别名”文本框中,键入
    SQLMobile,然后单击“下一步”。

  9. 在“客户端身份验证”屏幕上,选择“客户端将以匿名方式进行连接”,然后单击“下一步”。

  10. 在“匿名访问”屏幕上,单击“下一步”接受默认设置。

  11. 在“快照共享访问”屏幕上,键入 \\computer\snapshot(其中 computer
    是您计算机的名称),然后单击“下一步”。

    如果收到快照共享为空的警告,请单击“是”。

  12. 单击“Finish”。

  13. 单击“关闭”。

图片 5SQLServer Mobile
任务

在部署将要使用 SQL Server Mobile 的应用程序之前,预先创建 SQL Server
Mobile 数据库和订阅通常会节省时间。SQL Server Management Studio
允许您在本地计算机上创建并使用 SQL Server Mobile
数据库。然后,您可以在开发应用程序时使用此数据库。

图片 6创建新的 SQLServer Mobile
数据库

  1. 在 SQL Server Management Studio
    的对象资源管理器中,单击“连接”,然后选择“SQL Server Mobile”。

  2. 在“数据库文件”字段中,选择“<新建数据库…>”。

  3. 在文件名文本框中,键入 c:\sqlmobile.sdf,然后单击“确定”。

  4. 在“连接到服务器”对话框中,单击“连接”。

    将在对象资源管理器中添加名为“SQL Server Mobile [My
    Computer\…\sqlmobile]”的新节点。

图片 7创建新的订阅

  1. 在对象资源管理器中,展开“SQL Server
    Mobile”节点,展开“复制”,右键单击“订阅”,然后选择“新建订阅”。

  2. 在简介屏幕上,单击“下一步”。

  3. 在“选择发布”屏幕的“发布服务器”下拉列表中,选择“<查找 SQL Server
    发布服务器…>”。

  4. 在“连接到服务器”对话框,键入或选择本地计算机,然后单击“连接”。

  5. 在“选择发布”屏幕的发布列表中,展开“SQLMobile”,选择“SQLMobile”发布,然后单击“下一步”。

  6. 在“标识订阅”屏幕上,为订阅名称键入 SQLMobile,然后单击“下一步”。

  7. 在“Web 服务器身份验证”屏幕上,键入前面过程中创建的虚拟目录的
    URL。在此演练中,您已经创建了 URL 为
    的虚拟目录。

  8. 单击“订阅服务器将以匿名方式进行连接”,然后单击“下一步”。

  9. 在“SQL Server 身份验证”屏幕上,单击“下一步”接受默认设置。

    在最终屏幕上,该向导将显示示例代码,您可以在应用程序中创建订阅时使用该代码。选择示例代码(Visual
    Basic 或
    C#,取决于您在创建应用程序时使用的语言),然后复制代码。若要执行复制操作,请选择该代码并按
    Ctrl+C。启动记事本或其他文本编辑器,然后粘贴示例代码。在使用下列步骤创建应用程序时,您将使用此代码。

  10. 在复制示例代码之后,单击“完成”。

  11. 单击“关闭”。

图片 8生成应用程序

图片 9创建新的智能设备项目

  1. 打开 Visual Studio 2005。

  2. 在“文件”菜单上,选择“新建项目”。

  3. 在“新建项目”对话框的“项目类型”树中,展开您所使用的开发语言,然后选择“智能设备”。

  4. 在模板列表中,选择要创建的项目类型。对于此演练,请选择“Pocket PC
    2003 应用程序”。

  5. 为该项目提供名称和位置,然后单击“确定”。对于此演练,请将该项目命名为
    SQLMobile。

    Visual Studio 将创建新的项目,并显示
    Form1,就像在智能设备上显示时一样。

图片 10添加对
System.Data.SqlServerCe.dll
的引用

  1. 在解决方案资源管理器中,右键单击“引用”,然后选择“添加引用”。

    注意:
    如果解决方案资源管理器中没有列出“引用”文件夹,那么单击解决方案资源管理器顶部的“显示所有文件”。

     

     

  2. 在 .NET
    程序集列表中,选择“System.Data.SqlServerCe”,然后单击“确定”。如果没有列出
    System.Data.SqlServerCe,请执行下列步骤:

    1. 单击“浏览”选项卡。
    2. 定位到以下目录:
      C:\Program Files\Microsoft Visual Studio 8\Common7\IDE
    3. 选择“System.Data.SqlServerCe.dll”,然后单击“确定”。

    解决方案资源管理器中的引用列表现在包括
    System.Data.SqlServerCe,并且您的项目可以使用该程序集。

  3. 在解决方案资源管理器中,右键单击“Form1.cs”或“Form1.vb”,然后选择“查看代码”。

  4. 在窗体的代码顶部,添加指令以使用 System.Data.SqlServerCe 命名空间:

    [C#]

    using System.Data.SqlServerCe;
    

    [VB]

    Imports System.Data.SqlServerCe
    

图片 11添加数据连接

  1. 在主窗口中,切换回 Form1 的“设计”(默认)视图。

  2. 从“数据”菜单中,单击“添加新数据源”。

    注意   如果未显示“添加新数据源”,请选择 Form1
    的“设计”视图,然后再次查看“数据”菜单。

  3. 在“选择数据源类型”窗口上,选择“数据库”,然后单击“下一步”。

  4. 在“选择您的数据连接”对话框中,单击“新建连接”。

  5. 在“选择数据源”对话框中的“数据源”下,选择“Microsoft SQL Server Mobile
    Edition”。在数据访问接口列表中,选择“.NET Framework Data Provider
    for SQL Server Mobile Edition”。单击“继续”。

  6. 在“添加连接”中的“数据源”下,选择“我的电脑”。

    在“连接属性”部分中的“数据库”下,单击“浏览”,然后浏览到前面过程中所创建的数据库。如果按照步骤操作,该数据库位于
    c:\sqlmobile.sdf。

  7. 单击“测试连接”,然后单击“确定”以创建新的数据连接。

  8. 在“选择您的数据连接”对话框中,单击“下一步”。

  9. 在“保存连接字符串”窗口中,单击“下一步”。

  10. 在“选择您的数据库对象”窗口中,选择“表”,然后单击“完成”。

图片 12选择要显示的数据

  1. 从“数据”菜单中,选择“显示数据源”。

  2. 将“MembershipData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1
    上创建数据网格,并自动提供列名称。

  3. 右键单击数据网格,然后选择“属性”。

  4. 在“属性”窗口中,将“停靠”值更改为“顶部”。可以通过单击出现的图形表示的顶部栏,或者在值字段中键入“顶部”来完成此操作。将会对数据网格进行移动并调整其大小以填充
    Form1 的顶部。

  5. 在数据网格的右上角,单击小箭头。从显示的菜单中,选择“生成数据窗体”。

  6. 将“FlightData”表从“数据源”窗口拖动到“Form1 设计”窗口。将在 Form1
    上创建数据网格,并自动提供列名称。

  7. 您可以使用该数据网格的“属性”设置将“停靠”属性设置为“底部”。

1.SQL Server Mobile 简介
2.获取 SQL Server Mobile
3.安装必备软件
4.安装开发环境
5.安装服务器环境
6.配置 Web 同步向导
7.使用 Internet Explorer 检查 SQL Server Mobile 服务器代理配置

2、建立实体类

发布服务器发布服务器是提供数据以便复制到其它服务器的服务器。发布服务器可以具有一个或多个发布,每个发布代表一组逻辑相关的数据。除了指定其中哪些数据需要复制之外,发布服务器还检测事务复制期间发生更改的数据并维护有关此站点上所有发布的信息。

您必须为快照代理帐户和 IIS 匿名用户帐户授予权限。还必须将 IIS
匿名用户帐户添加到发布访问列表 (PAL) 中。

图片 13创建数据库并在其中填充数据

1.SQL Server Mobile 简介

SQL Server Mobile 是一种
专为开发基于 Microsoft Windows Mobile 的设备的开发人员
而提供的移动数据库平台。

Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile)
(以前称为 Microsoft SQL Server 2000 Windows CE Edition 2.0 (SQL Server
CE))
将 Microsoft 企业解决方案扩展到设备上的行业和个人信息管理 (PIM)
应用程序,
为开发人员进行快速应用程序开发提供了一致的编程模型。

SQL Server Mobile 以很小的内存开销提供了所需的关系数据库功能:
可靠的数据存储、优化查询处理器,以及可靠、可伸缩的连接功能。

通常,Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile)
作为应用程序的一部分应用。
在这种应用程序中,
数据是在台式机上的 Microsoft SQL Server 和支持的设备上的 SQL Server
Mobile 之间进行分发的。

但是,SQL Server Mobile 也可以用作个人信息管理 (PIM) 工具或者
所支持设备上的其他应用程序的独立数据库。

这里EF的具体教程就不多说了,博客园一搜一大堆。

首先,一般情况下数据库安装好后,在企业管理器里看到的sql注册是(local)(Windows
NT),

;Password=;Max Database Size=128;Default Lock Escalation

使用 SQL Server Mobile 创建移动应用程序 

8.使用SQL Server Mobile 数据库

您可以创建或连接到 设备或台式机上的 
Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile) 数据库。

SQL Server Mobile 数据库存储在扩展名为 .sdf 的文件中。
该文件包含数据库的完整内容,最大可以为 4 GB。

SQL Server Mobile 可以访问和修改智能设备以及 Tablet PC 上的数据库文件。

通过使用 SQL Server Management Studio
和其他工具,它还支持在台式机上使用。

* 通过使用 ADO .NET 或 OLE DB API 函数,采用编程方式
* 通过在某个设备上使用 SQL Server Mobile 查询分析器
* 通过在台式机上使用 SQL Server Management Studio

通过使用 SQL Server Management Studio 或 Transact-SQL 语句,
您可以连接到台式机上的现有数据库。
还可以使用台式机创建和修改数据库。
然后,可以使用对象树以树层次结构查看该数据库的设计。
每个节点具有快捷菜单,菜单上的命令用于修改数据库或检索数据库的相关信息。

可以在 SQL Server Mobile 数据库中执行的一些功能包括:

* 创建、删除和编辑表及其关联的数据。
* 创建、维护和删除索引。
* 检查信息架构视图和数据类型。
* 初始化复制和远程数据访问 (RDA) 同步。

可以将 Transact-SQL 命令(包括数据操作语言 (DML)、
数据定义语言 (DDL) 和函数)用于 SQL Server Mobile 数据库。

还可以将复制或 RDA 用于通过本机和托管的 API 公开的数据库。

Global.asax.cs中的 Application_Start()中加上红色那句代码

正式开始:

只有在创建发布快照之后才可对 SQLMobile 发布的订阅进行初始化。

在此演练中,您将执行下列任务:

3.安装必备软件

在安装 Microsoft SQL Server 2005 Mobile Edition (SQL Server Mobile)
组件之前,
必须在台式机上安装下列软件

a. 开发计算机以及运行 IIS 的计算机(如果打算与 SQL Server
进行数据交换)
   的操作系统应为 Microsoft Windows 2000 SP4 或更高版本、
   Microsoft Windows XP Professional SP1
   或更高版本或者 Microsoft Windows Server 2003。

   如果安装的是 Windows XP SP2,若要使用 SQL Server Mobile 连接,
   必须启用 HTTP 访问。
   默认设置为禁用 HTTP 访问。若要启用 HTTP 访问,请执行下列操作:
       打开“控制面板”。
       单击 Windows 防火墙图标。
       单击“高级”。
       在“网络连接设置”区域中单击“设置”。
       选中“Web 服务器(HTTP)”复选框。
       单击“确定”以确认更改。

b.运行 IIS 的计算机上需要安装 Microsoft .NET Framework 2.0
或更高版本。
  .NET Framework 将随 Microsoft Visual Studio 2005 和 SQL Server 2005
一起安装。
   若要从 Microsoft 网站下载 .NET Framework 2.0,
   请参阅 .NET Framework 2.0 Download Center。

c.开发环境及服务器环境中需要安装 Microsoft ActiveSync 4.0 或更高版本。
  ActiveSync 可以从 ActiveSync Download 免费下载。

根据图中所示,安装完成后重启VS就可以在菜单的工具中找打,并打开使用。


既然已对 SQL Server 配置了一个发布,则必须使该发布可以通过网络供 SQL
Server Compact Edition 客户端使用。SQL Server Compact Edition 可通过 IIS
连接到 SQL Server。即,创建虚拟目录并对其进行配置,从而允许客户端访问
SQL Server Compact Edition 服务器代理。

图片 14必备项

4.安装开发环境

Visual Studio
使用 Visual Studio 进行开发,可以最便捷地生成和部署使用 SQL Server
Mobile 的应用程序。

在 Visual Studio 中,您可以通过使用 C# 或 Microsoft Visual Basic
来创建托管应用程序,
并且可以通过使用 Visual C++ for Devices 选件来创建本机应用程序。

在 Microsoft .NET Compact Framework 应用程序中,
添加对 System.Data.SqlServerCe 命名空间的引用。
System.Data.SqlServerCe 命名空间将在 .NET Compact Framework 中显示 SQL
Server Mobile。

然后,您可以创建数据库、数据库表和列,并用数据填充数据库。

当生成引用 System.Data.SqlServerCe 命名空间的 .NET Compact Framework
应用程序时,
如果该应用程序部署到智能设备或 Pocket PC 模拟器上,
Visual Studio 将自动进行检查,
以查看该设备是否安装了 .NET Compact Framework 和 SQL Server Mobile
客户端组件。
如果未检测到这些组件,
则会在您首次部署引用 System.Data.SqlServerCe
命名空间的应用程序时自动在设备上安装这些组件。

.NET Compact Framework 还包含 System.Data.SqlClient 命名空间,
用于开发直接访问 SQL Server 2000 或更高版本中数据库的应用程序。

若要将应用程序部署到智能设备,
请在 Visual Studio 2005 中的“调试”菜单上选择“启动”。
然后选择部署到连接的智能设备还是 Pocket PC 模拟器。
设备上的默认安装位置是 \Windows。

如果从 Visual Studio 中部署应用程序,
将不必在设备上单独安装 SQL Server Mobile 组件或 .NET Compact Framework。

示例项目如下:

输入”administrator”时提示以下错误: 错误 15407: ‘administrator’
不是有效的 Windows NT 名称。请给出完整名称: 域\用户名。

创建快照用户帐户

若要按照此演练中所写的内容执行此演练,您需要满足下列条件:

2.获取 SQL Server Mobile

获取 SQL Server Mobile 的方式有以下三种:

(1).集成到 SQL Server 2005 中。
    C:\Program Files\Microsoft SQL Server
       \90\Tools\Binn\VSShell\Common7\IDE\sqlce30setupen.msi

(2).集成到 Microsoft Visual Studio 2005 中。
    C:\Program Files\Microsoft Visual Studio 8
       \SmartDevices\SDK\SQL Server\Mobile\v3.0\Sqlce30setupcn.msi

(3).从 Microsoft 网站进行下载。
    有关从网站下载 SQL Server Mobile 的详细信息,
      请参阅 Microsoft SQL Server 2005 Mobile Edition
Home
          Microsoft SQL Server 2005 Mobile Edition 主页。

Classification.cs

系统出现两个选择 一个是 是,将SQL server代理服务配置为自动启动 另一个是
否,我将手工启动 SQL server 代理服务器 然后选那个呢? 我两个都试过了
然后出现快照文件夹 \\XXLJD\F$\Program Files\Microsoft SQL
Server\MSSQL\ReplData 系统提示 不是有效的文件名或路径 接下去就弄不了
哪位大哥帮帮忙啊

{

字段

用户名

snapshot_agent

密码

p@ssw0rd

确认密码

p@ssw0rd

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

未选中

密码永不过期

选中

重要事项:
这些设置仅用于测试。在生产环境中,请确保用户帐户设置符合您的网络安全性要求。许多情况下,对于快照代理您将使用域用户帐户而不是使用本地用户帐户。

 

 

图片 15创建快照文件夹

  1. 在 Windows
    资源管理器中,创建一个名为“snapshot”的新文件夹。在此演练中,您可以在驱动器
    C
    的根目录下创建该文件夹:c:\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. 关闭 Windows 资源管理器。

图片 16创建发布

  1. 在对象资源管理器中,展开“(本地)”节点(如果当前尚未展开),然后展开“复制”。

  2. 右键单击“发布”文件夹,然后选择“新建发布”。

  3. 在新建发布向导简介屏幕上,单击“下一步”。

  4. 如果以前未曾在此计算机上创建发布,将提示您配置分发服务器。选择第一个选项将本地计算机作为它自己的分发服务器,然后单击“下一步”。

  5. 如果以前未曾在此计算机上创建发布,将提示您指定快照文件夹。键入在前面过程中创建的快照文件夹的共享路径。以
    \\servername\share
    格式键入共享路径,不要键入本地路径。在此演练中,我们建议您键入
    \\computer\snapshot(其中 computer
    是您计算机的名称),然后单击“下一步”。

  6. 在数据库列表中,选择“SQLMobile”,然后单击“下一步”。

  7. 在发布类型列表中,选择“合并发布”,然后单击“下一步”。

  8. 在“订阅服务器类型”页中,选择“是”启用对 SQL Server Mobile
    订阅服务器的支持,然后单击“下一步”。

  9. 在要发布的对象列表中,选中“表”复选框。如果展开“表”,您将发现
    SQLMobile 数据库中的两个表都已被选中。单击“下一步”。

  10. 会通知您将向表中添加唯一标识符。所有合并项目都需要一个
    uniqueindentifier 列。单击“下一步”。

  11. 在“筛选表行”页中,现在即可添加对已发布数据的筛选器。对于此演练,您将无需筛选数据。单击“下一步”。

  12. 在“快照代理”页中,您可以配置创建快照的时间以及快照代理运行的频率。单击“下一步”以接受默认设置。

  13. 在“代理安全性”对话框中,单击“安全设置”。

    1. 在“快照代理安全性”对话框中,输入前面过程中所创建帐户的登录信息。进程帐户为
      computer_name\snapshot_agent(其中 computer_name
      是您计算机的名称),密码为 p@ssw0rd。
    2. 单击“确定”以保存设置。
    3. 在“代理安全性”页中,单击“下一步”。
  14. 在“向导操作”屏幕上,您可以确定创建发布的时间以及是否希望创建脚本文件。单击“下一步”以接受默认选择。

  15. 在“完成该向导”屏幕上,键入 SQLMobile
    作为发布的名称,然后单击“完成”。

  16. 将创建发布。向导完成后,单击“关闭”。

6.配置 Web 同步向导

单击“开始”,指向“所有程序”,
指向“Microsoft SQL Server 2005 Mobile Edition”,
然后单击“配置 Web 同步向导”。

最后是ADO.NET Entity Framework 4.1 
下载地址:

准备工作:

生成应用程序

图片 17SQLServer 2005
任务

首先Microsoft SQL Server Compact 4.0 详细的介绍和下载地址
链接:

有时候会看不到新建立的项目,重新进就可以了。

DeleteDB();

添加代码

在应用程序的代码页中,您可以添加包含数据库文件的路径和名称的字符串变量,添加代码以便在数据库文件已存在时删除该文件,还可以添加代码以建立与
SQL Server 发布的连接、同步数据以及利用这些数据创建新的本地数据库。

图片 18添加代码

  1. 在解决方案资源管理器中,右键单击“Form1”,然后选择“显示代码”。

  2. 在代码页中,找到 Form1 的类定义。添加一个字符串变量,并为其分配该
    .sdf 文件的路径和名称。Visual Studio
    在上文中步骤创建的数据源将该数据库文件的存储位置设为
    \Program Files\ApplicationName 文件夹,其中 ApplicationName
    是应用程序的名称。例如,如果您将新项目命名为
    SQLMobile,您的字符串变量应设置为
    "\Program Files\SQLMobile\sqlmobile.sdf"

  3. 您的类定义的前几行应与以下代码类似:

    [C#]

    public partial class Form1 : System.Windows.Forms.Form
        {
        private System.Windows.Forms.MainMenu mainMenu1;
        string filename = @"\Program Files\SSMWalkthrough\sqlmobile.sdf";
        public Form1()
        {
        InitializeComponent();
        }
    

    [Visual Basic]

    Public Class Form1
        Dim filename As New String _
        ("\Program Files\SQMWalkthrough_vb\sqlmobile.sdf")
    
  1. 创建一个新方法,以便在数据库文件存在时删除该文件。这将确保应用程序每次运行时都加载最新的数据。该方法应命名为
    DeleteDB。您的代码应与以下代码类似:

    [C#]

    private void DeleteDB()
        {
        if (System.IO.File.Exists(filename))
        {
        System.IO.File.Delete(filename);
        }
        }
    

    [Visual Basic]

    Sub DeleteDB()
        If System.IO.File.Exists(filename) Then
        System.IO.File.Delete(filename)
        End If
        End Sub
    
  2. 创建名为“Sync”的执行同步的新方法。若要执行此操作,您将使用从前面步骤的“新建发布向导”中复制的代码。在粘贴代码后,必须对代码执行两项更改:

    1. 更改 SubscriberConnectionString
      值以指向在文件名变量中指定的正确路径和文件名。
    2. 将 AddOption 值从 ExistingDatabase 更改为 CreateDatabase。
      完成后,Sync 方法应如下所示:
      [C#]

      private void Sync()
              {
              SqlCeReplication repl = new SqlCeReplication();
              repl.InternetUrl = @"http://computer_name/sqlmobile/sqlcesa30.dll";
              repl.Publisher = @"computer_name";
              repl.PublisherDatabase = @"SQLMobile";
              repl.PublisherSecurityMode = SecurityType.NTAuthentication;
              repl.Publication = @"SQLMobile";
              repl.Subscriber = @"sqlmobile";
              repl.SubscriberConnectionString = @"Data Source='" + filename +
              "';Password='';Max Database Size='128';Default Lock Escalation
              ='100';";
              repl.AddSubscription(AddOption.CreateDatabase);
              repl.Synchronize();
              }
      

      [Visual Basic]

      Sub Sync()
              Dim repl As New SqlCeReplication()
              repl.InternetUrl = "http://computer_name/sqlmobile/sqlcesa30.dll"
              repl.Publisher = "computer_name"
              repl.PublisherDatabase = "SQLMobile"
              repl.PublisherSecurityMode = SecurityType.NTAuthentication
              repl.Publication = "SQLMobile"
              repl.Subscriber = "sqlmobile"
              repl.SubscriberConnectionString = _
              "Data Source='" + filename + "';Password='';" _
              & "Max Database Size='128';Default Lock Escalation ='100';"
              repl.AddSubscription(AddOption.CreateDatabase)
              repl.Synchronize()
              End Sub
      
  3. 最后,向调用刚才所创建两个方法的 Form1_Load
    事件处理程序的开头添加代码。Form1_Load 事件处理程序应如下所示:

    [C#]

    private void Form1_Load(object sender, EventArgs e)
        {
        DeleteDB();
        Sync();
        // TODO: Delete this line of code ...
        this.flightDataTableAdapter.Fill(this.sqlmobileDataSet.FlightData);
        // TODO: Delete this line of code ...
        this.membershipDataTableAdapter.Fill(this.sqlmobileDataSet.MembershipData);
        }
    

    [Visual Basic]

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        DeleteDB()
        Sync()
        'TODO: Delete this line of code ...
        Me.FlightDataTableAdapter.Fill(Me.SqlmobileDataSet.FlightData)
        'TODO: Delete this line of code ...
        Me.MembershipDataTableAdapter.Fill(Me.SqlmobileDataSet.MembershipData)
        End Sub
    

图片 19部署并测试应用程序

图片 20部署应用程序

  1. 从“调试”菜单中,选择“开始”。

  2. 在“部署”对话框中,选择“Pocket PC 2003 SE 模拟器”,然后单击“部署”。

  3. 将会在新窗口中打开模拟器。在首次将应用程序部署到模拟器时,将安装
    .NET Compact Framework 和 SQL Server
    Mobile。该过程可能需要几分钟的时间。当它们安装完成后,将安装您的应用程序并运行。

    您的应用程序将加载并显示这两个数据网格。单击“MembershipData”数据网格中的值时,会自动更新“FlightData”数据网格中的数据。

  4. 关闭应用程序,在 Visual Studio 中的“调试”菜单上,单击“停止调试”。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;

namespace EntityFramerwork.Models
{
    [Bind(Exclude = "ClassificationID")]
    public class Classification
    {
        public int ClassificationID {get;set;}
        public string ClassificationName { get; set; }
        public int ClassificationParentID {get;set;}
    }
}

—————————————————————————SQL复制的工作原理SQL
SERVER
主要采用出版物、订阅的方式来处理复制。源数据所在的服务器是出版服务器,负责发表数据。出版服务器把要发表的数据的所有改变情况的拷贝复制到分发服务器分发服务器包含有一个分发数据库,可接收数据的所有改变,并保存这些改变,再把这些改变分发给订阅服务器

部署应用程序

准备服务器以发布数据

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

图片 21创建快照用户帐户

  1. 在“开始”菜单上,右键单击“我的电脑”,然后选择“管理”。

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

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

3、在程序启动时建立文件数据库

******************************************************************************我是如何设置的:1。准备工作设置一个公用目录并保证2台服务器有权限。2。右键发布服务器——属性——复制——配置——创建分发服务器,并设定发布服务器和发布数据库,然后给予订阅服务器权限。3。依次展开:发布服务器——将要发布的数据库——右键发布内容——新建发布。4。右键刚刚建立的发布——属性——状态——立即运行代理程序——代理程序属性中设置调度并启动。4。右键刚刚建立的发布——属性——订阅——强制新建。

创建发布

  1. 配置 SQL Server 2005 发布。
  2. 配置 Internet 信息服务 (IIS) 以进行复制。
  3. 创建 SQL Server Mobile 订阅。
  4. 创建应用程序。
  5. 部署应用程序并测试订阅。

  <connectionStrings>
    <add name=”MyStoreEntities
     connectionString=”Data Source=|DataDirectory|MyShop.sdf”
     providerName=”System.Data.SqlServerCe.4.0″/>
  </connectionStrings>

问题:SQL Server 复制不支持昵称,例如使用“.”或“(local)”作为服务器名。

在解决方案资源管理器中,右键单击“Form1”,然后选择“查看代码”。

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

图片 22


配置发布以进行 Web 同步

下载安装后,在项目中引用后即可使用

1.发布服务器,订阅服务器都创建一个同名的windows用户,并设置相同的密码,做为发布快照文件夹的有效访问用户我的电脑–控制面板–管理工具–计算机管理–用户和组–右键用户–新建用户–建立一个隶属于administrator组的登陆windows的用户

创建名为“Sync”的执行同步的新方法。若要执行此操作,您将使用从前面步骤的“新建发布向导”中复制的代码。在粘贴代码后,必须对代码执行两项更改:

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Web;
 5 using System.Web.Mvc;
 6 
 7 namespace EntityFramerwork.Controllers
 8 {
 9     public class HomeController : Controller
10     {
11         public ActionResult Index()
12         {
13             ViewBag.Message = "欢迎使用 ASP.NET MVC!";
14             Models.MyStoreEntities mystoryentity = new Models.MyStoreEntities();
15             var administrator = mystoryentity.Administrators.ToList();
16             return View(administrator);
17         }
18 
19         public ActionResult About()
20         {
21             return View();
22         }
23     }
24 }

使用复制可以将数据分发到不同位置,通过局域网、使用拨号连接、通过
Internet
分发给远程或移动用户。复制还能够使用户提高应用程序性能,根据数据的使用方式物理分隔数据,或者跨越多个服务器分布数据库处理。

SQL Server 2005 任务

        protected void Application_Start()
        {
            System.Data.Entity.Database.SetInitializer(new
EntityFramerwork.Models.SampleData());

5.在发布服务器和订阅服务器上互相注册企业管理器–右键SQL
Server组–新建SQL
Server注册…–下一步–可用的服务器中,输入你要注册的远程服务器名
–添加–下一步–连接使用,选择第二个”SQL
Server身份验证”–下一步–输入用户名和密码(一般是sa,密码最好设置一下非常复杂的)–下一步–选择SQL
Server组,也可以创建一个新组–下一步–完成

在代码页中,查找 Form1 的类定义。添加一个字符串变量,并赋值为 .sdf
文件的路径和文件名。Visual Studio
在先前步骤中创建的数据源需要数据库文件驻留在 /Program
Files/ApplicationName 文件夹中,其中 ApplicationName
为应用程序的名称。例如,如果您命名了新项目
SQLMobile,则应将字符串变量设置为 /Program
Files/SQLMobile/sqlmobile.sdf。

1、在Web.config中配置如下:


这里就可以完成了,修改发布服务器数据库中的内容,等一两分钟,数据就同步到订阅服务器中了。不过由于第一次执行需要快照,如果发布库中有一定的内容,第
一次执行可能需要几分钟时间。如果数据不能同步过去,大家是调度设置时间太短使快照不能完成,所以后面的步骤无法执行,遇到这样的情况的
话,选中你发布的内容,设置属性,在“状态”中“立即运行代理程序”,这样的话,数据会马上同步过去的。

this.flightDataTableAdapter.Fill(this.sqlmobileDataSet.FlightData);

图片 23


catch (SqlCeException e)

Administrator.cs

确实要使用此快照文件夹路径吗?--》否,因为这个路径是没办法请求订阅的代理程序,咱们建一个文件夹D:\ReplData,在这个文件夹的属性里设置“共享此文件夹”,点击“权限”设置everyone为完全。--》确定后退出--》返回咱们刚才的“快照文件夹”,在里边
输入“\\SEOGIRL\ReplData”--》下一步--》下一步--》完成--》关闭