安装配置需要文件:
1.Sqlserver 2000 的SP1:SQL2KRSSP1-CHS.EXE(在微软的网站下有下载)
2.IIS与SQLCE连接管理器:sqlce20sql2ksp3a.exe(在微软的网站下有下载)
首先安装:1,再安装2,
安装1的时候基本上没有什么大的问题,安装2的时修注意,需要设置一下,将sscesa20.dll所在的目录,用Configure Connectivity Support in IIS管理器,创建一个虚目录,如果是NTFS格式的,一定要设好NTFS promissions 项,否则在同步的时候会出现 a call to sqlserver repl...的错误,之前我就没有设置,所以弄了我两天,老出现这个问题,头都大了!设好之后,在IE地址栏上输入:http://localhost/虚目录/sscesa20.dll/
如果页面可以正常的显示出来Sql ce ...等字样的,则说明已经配好了!后面的事情就是如何建立发布与订阅的事情了,有时间再写吧!
我现在的配置是windowsXP sp2,sqlserver2000+sp4,sqlce20sql2ksp4.exe
(1)sqlserver2000的sp4安装很简单,解压后直接运行setup.dat就可以了。
确保安装IIS
(2)然后安装sqlce20sql2sp4.exe
i. 按照提示安装
ii. 进入SQL Server CE Virtual Directory Creation Wizard界面
iii. 给virtual directory 输入名称 “sscepubs”(这个你可以自己命名)
iv. 选择“anonymous access”
v. 下一步,不进行任何选择
vi. 安装完成
(3)修改SQL Server 2000
进入SQL Server的企业管理器,在正在运行的Sever中选择安全性,新建登陆,新增加用户IUSER_计算机名(Internet来宾帐号), 并在数据库
访问中选中要访问的数据库,增加角色”db_owner”,点击确定,完成权限设置
(4)测试是否安装成功
在IE中输入http://服务器的IP地址/sscepubs/sscesa20.dll, 如果连接成功且出现“SQL Server CE Agent”
这样子就好了,可以利用SqlCeRemoteDataAccess这个来实现同步了
pull是从 SQL Server 数据库中提取数据并将其存储在 SQL Server CE 数据库的表中
// Connection String to the SQL Server.
string rdaOleDbConnectString = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " +
"User Id=username;Password = <password>";
// Initialize RDA Object.
SqlCeRemoteDataAccess rda = null;
try {
//Try the Pull Operation.
rda = new SqlCeRemoteDataAccess();
rda.InternetLogin = "MyLogin";
rda.InternetPassword = "<password>";
rda.InternetUrl = "http://服务器的IP地址/sscepubs/sscesa20.dll";
rda.LocalConnectionString = @"Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=/ssce.sdf";
rda.Pull(
"Employees",
"Select * from Employees",
rdaOleDbConnectString,
RdaTrackOption.TrackingOnWithIndexes ,
"ErrorTable");
}
catch(SqlCeException) {
//Use you own Error Handling Routine.
}
finally {
//Dispose of the RDA Object.
rda.Dispose();
}
push是将 SQL Server CE 数据库中跟踪提取表中的更改传送回 SQL Server 表
string rdaOleDbConnectString = "Provider=sqloledb; Data Source=MySqlServer;Initial Catalog=Northwind; " +
"User Id=username;Password = <password>";
// Initialize RDA Object.
SqlCeRemoteDataAccess rda = null;
try {
//Try the Pull Operation.
rda = new SqlCeRemoteDataAccess();
rda.InternetLogin = "MyLogin";
rda.InternetPassword = "<password>";
rda.InternetUrl = "http://服务器的IP地址/sscepubs/sscesa20.dll";
rda.LocalConnectionString = @"Provider=Microsoft.SQLSERVER.OLEDB.CE.2.0;Data Source=/ssce.sdf";
rda.Push("MyLocalTable",
rdaOleDbConnectString,
RdaBatchOption.BatchingOn);
}
catch(SqlCeException) {
//Use you own Error Handling Routine.
}
finally {
//Dispose of the RDA Object.
rda.Dispose();
}
安装.NET CF和SQL CE组件