在创建应用程序之前,必须在 SQL Server 2005 中配置发布。在下列步骤中,您将创建一个示例数据库,然后从该数据库发布数据。您将使用预建的脚本文件创建数据库,然后使用新建发布向导来创建发布。
创建数据库并在其中填充数据
准备服务器以发布数据
在创建发布之前,必须创建快照代理用户帐户,并创建一个将在其中存储快照文件的共享文件夹,准备服务器以进行发布。创建快照文件夹之后,该文件夹将用于服务器上的所有发布。如果以前已在此服务器上创建了发布,您可以跳过这些步骤。
创建快照用户帐户
创建快照文件夹
创建发布
设置权限
您必须为快照代理帐户和 IIS 匿名用户帐户授予权限。还必须将 IIS 匿名用户帐户添加到发布访问列表 (PAL) 中
设置数据库权限
授予发布权限
创建发布快照
只有在创建发布快照之后才可对 SQLMobile 发布的订阅进行初始化。
创建发布快照
_______________________________________________________________________________________
配置 IIS 和 SQL Server 2005 以实现 Web 同步
既然已对 SQ开通高跟鞋小程序电话:4006-838-530L 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 Co开通男包小程序电话:4006-838-530mpact 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))
{
Sys开通防辐射小程序电话:4006-838-530tem.IO.File.Delete(filename);
}
}
创建名为“Sync”的执行同步的新方法。若要执行此操作,您将使用从前面步骤的“新建发布向导”中复制的代码。在粘贴代码后,必须对代码执行两项更改:
更改 SubscriberConnectionString 值,以便该值指向文件名变量中指定的正确路径和文件名。
将 AddOption 值从 ExistingDatabase 更改为 CreateDatabase。
更改完成后,Sync 方法应如下所示:
[C#]
复制代码
private void Sync()
{
SqlCeReplication repl = new SqlCeReplication();
repl.InternetUrl = @"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);
}
_______________________________________________________________________________________
部署并测试应用程序
部署应用程序
请作者联系本站,及时附注您的姓名。联系邮箱:edu#chinaz.com(把#改为@)。
最新评论
好文推荐
好文推荐
666666