从 SQL Server CE 获取上次复制日期/时间
Posted
技术标签:
【中文标题】从 SQL Server CE 获取上次复制日期/时间【英文标题】:Get last replication date/time from SQL server CE 【发布时间】:2012-03-29 10:48:25 【问题描述】:我的设备上有一个带有 SQL Server CE 3.5 的 Windows Mobile 6.0 应用程序。该程序从发布者获取最新数据 - SQL Server 2008。复制工作正常,但我想向用户显示上次从服务器复制的时间。
有谁知道我可以从哪里获取可以在设备上执行的 SQL 以从 SQL Server CE 获取此信息?
非常感谢所有帮助。
迈克
【问题讨论】:
【参考方案1】: /// <summary>
/// Get the local Datetime for last succesful synchronization
/// If no Synchronization has happened, will return DateTime.MinValue
/// </summary>
/// <param name="connection">An open connection to the local database</param>
/// <returns>The date and time for the last succesful sync</returns>
public DateTime GetLastSuccessfulSyncTime(SqlCeConnection connection)
if (!System.IO.File.Exists(connection.Database))
return DateTime.MinValue;
if (connection.State != System.Data.ConnectionState.Open)
connection.Open();
var props = GetPropertiesFromSettings();
using (SqlCeCommand cmd = connection.CreateCommand())
cmd.Connection = connection;
cmd.CommandText = "SELECT table_name FROM information_schema.tables WHERE TABLE_NAME = @table";
cmd.Parameters.Add("@table", SqlDbType.NVarChar, 4000);
cmd.Parameters["@table"].Value = "__sysMergeSubscriptions";
object obj = cmd.ExecuteScalar();
if (obj == null)
return DateTime.MinValue;
cmd.Parameters.Clear();
cmd.CommandText = "SELECT LastSuccessfulSync FROM __sysMergeSubscriptions " +
"WHERE Publisher=@publisher AND PublisherDatabase=@database AND Publication=@publication";
cmd.Parameters.Add("@publisher", SqlDbType.NVarChar, 4000);
cmd.Parameters["@publisher"].Value = props.Publisher;
cmd.Parameters.Add("@database", SqlDbType.NVarChar, 4000);
cmd.Parameters["@database"].Value = props.PublisherDatabase;
cmd.Parameters.Add("@publication", SqlDbType.NVarChar, 4000);
cmd.Parameters["@publication"].Value = props.Publication;
obj = cmd.ExecuteScalar();
if (obj == null)
return DateTime.MinValue;
else
return ((DateTime)obj);
【讨论】:
完美!感谢您的帮助。以上是关于从 SQL Server CE 获取上次复制日期/时间的主要内容,如果未能解决你的问题,请参考以下文章
从 Win CE 设备到 SQL Server 2008 R2 的 SQL 复制