1. 说明:本项目中使用的是SSCE3.5版本。
1. 说明:本项目中使用的是SSCE3.5版本。
2. 同步规则:
只下载的数据,采用SnopShot模式下载;双向同步和只上传同步都采用Bidirectional模式;同步时间频率如下:
只下载:轮询同步程序,计划同步1d/次;同时,程序中做可以触发的同步;
双向同步:轮询同步程序,计划同步5mi/次;定时清理:轮询同步程序,计划同步1d/次;
只上传:同步轮询程序,计划同步1d/次;定时清理:同步轮询程序,计划同步1M/次;
当主程序登录成功后,启动后台同步线程,5分钟执行一次同步,同步时校验当前时间与配置文件中保存的LastSyncDateTime的时间差是否大于执行频率来判断是否本次执行同步。后台线程在主程序完全退出后自动结束。
3. SSCE访问字符串的书写总结:
举例:connectionString="Data Source=..\Database\DIH_AMS.sdf;PersistSecurity Info = False;Max Database Size = 4000; Max Buffer Size = 1024;"
项目中常用的连接SDF的写法。解释如下:
Data Source:SDF的路径和名称,上面用到了相对路径;
Persist Security Info:是否保存密码,这里true/false影响不大;
Max Database Size:SDF文件的最大支持容量,默认128,最大支持到4G,但只能写到<4091;
Max Buffer Size:缓存大小,默认640;
SDF文件,可以设置访问密码,不像MS-Server要设置UserID和Password,比如” Password= 'dih+dih123';”,设置密码时,需要Server Studio打开SDF,在属性里面添加密码。
自动压缩设置,比如”SSCE:AutoShrink Threshold=60;”这里不写的话默认也是60%,表示实际容量不超过容量的60%时,自动压缩;
4. SSCE访问类Helper:
#region InsertLocalData
public static bool InsertLocalData(string strSql, string clientConnStr)
{
bool b = true;
using (SqlCeConnection conn = new SqlCeConnection(clientConnStr))
{
try
{
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = strSql;
cmd.ExecuteNonQuery();
}
catch
{
b = false;
conn.Close();
}
}
return strRes;
}
#endregion
#region DeleteLocalData
public static bool DeleteLocalData(string strSql, string clientConnStr)
{
bool b = true;
using (SqlCeConnection conn = new SqlCeConnection(clientConnStr))
{
try
{
conn.Open();
SqlCeCommand cmd = conn.CreateCommand();
cmd.CommandText = strSql;
cmd.ExecuteNonQuery();
}
catch
{
b = false;
conn.Close();
}
}
return b;
}
#endregion
#region UpdateLocalData
public static bool UpdateLocalData(string strSql, string clientConnStr)
{
bool b = true;
using (SqlCeConnection conn = new SqlCeConnection(clientConn