分享
 
 
 

SQL Server Compact Edition 程序建立步骤

王朝mssql·作者佚名  2008-05-31
窄屏简体版  字體: |||超大  

SQL Server 2005 任务

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

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

准备服务器以发布数据

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

创建快照用户帐户

创建快照文件夹

创建发布

设置权限

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

设置数据库权限

授予发布权限

创建发布快照

只有在创建发布快照之后才可对 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 服务器组件

配置发布以进行 Web 同步

_______________________________________________________________________________________

SQL Server Compact Edition 任务

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

创建新的 SQL Server Compact Edition 数据库

创建新的订阅

配置步骤为三步: 创建发布-->web同步-->创建订阅

_______________________________________________________________________________________

生成应用程序

创建新的智能设备项目

添加引用

添加数据连接

选择要显示的数据

添加节点

在应用程序的代码页中,可添加包含数据库文件的路径和名称的字符串变量、用于删除数据库文件(如果已存在)的代码、用于创建与 SQL Server 发布的连接、同步数据和创建一个包含已发布数据的新本地数据库的代码。

添加代码

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

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

类定义的前几行应该与以下代码类似:

[C#]

复制代码

public partial class Form1 : System.Windows.Forms.Form

{

private System.Windows.Forms.MainMenu mainMenu1;

string filename = @"\Program Files\SQLMobile\sqlmobile.sdf";

public Form1()

{

InitializeComponent();

}

如果当前存在数据库文件,则将创建新方法将该数据库文件删除。这将确保应用程序在每次运行时加载最新的数据。此方法应该命名为 DeleteDB。此代码应该与以下代码类似:

[C#]

复制代码

private void DeleteDB()

{

if (System.IO.File.Exists(filename))

{

System.IO.File.Delete(filename);

}

}

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

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

将 AddOption 值从 ExistingDatabase 更改为 CreateDatabase。

更改完成后,Sync 方法应如下所示:

[C#]

复制代码

private void Sync()

{

SqlCeReplication repl = new SqlCeReplication();

repl.InternetUrl = @"/sqlmobile/sqlcesa30.dll"http://<computername>/sqlmobile/sqlcesa30.dll";

repl.Publisher = @"<computername>";

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';";

try

{

repl.AddSubscription(AddOption. CreateDatabase);

repl.Synchronize();

}

catch (SqlCeException e)

{

MessageBox.Show(e.ToString());

}

}

最后,在调用最新创建的两个方法的 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);

}

_______________________________________________________________________________________

部署并测试应用程序

部署应用程序

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有