使用SQL ManagementStudio 2008我创建了SQL 3.5 Compact DB(TestCompact.sdf),并创建了对现有Publication的订阅。使用SQL Management Studio它正在运行。我已将TestCompact.sdf传输到Windows Mobile 5模拟器设备,而使用QueryAnalyzer for Mobile,我可以查询TestCompact.sdf中的现有表。我不知道如何在该移动设备上启动复制同步。我是否需要编写一些C#代码,或者它可以做得更简单吗?
编辑:(在回答我的问题后添加) 也许这对C#代码为我做的工作有用: (使用SQL Management Studio - 我的Compact DB现有订阅的属性)我读了replObj属性的值是什么)
private void btnSync_Click(object sender, EventArgs e)
{
SqlCeConnection sqlCeConn = null;
SqlCeReplication replObj = new SqlCeReplication();
string connString = @"data source=\My Documents\TestReplicationCompactDB.sdf;Password=bero";
replObj.InternetUrl = @"http://192.168.99.99/VirtualDirectoryForCompactDBReplication/sqlcesa35.dll";;
replObj.PublisherDatabase = "TestReplicationDB";
replObj.PublisherSecurityMode = SecurityType.NTAuthentication;;
replObj.Publisher = @"DBTESTSRV\SQL2008";
replObj.Publication = "TestReplication2";
replObj.Subscriber = "TestReplication";
replObj.SubscriberConnectionString = @"data source=\My Documents\TestReplicationCompactDB.sdf;Password=bero";
replObj.InternetLogin = @"ares\intor";
replObj.InternetPassword = "intor";
try
{
sqlCeConn = new SqlCeConnection(connString);
sqlCeConn.Open();
replObj.Synchronize();
sqlCeConn.Close();
}
catch (Exception ex) {
MessageBox.Show(ex.Message);
if (sqlCeConn != null && sqlCeConn.State == ConnectionState.Open)
sqlCeConn.Close();
return;
}
string countPublisherChanges = replObj.PublisherChanges.ToString();
string countSubScriberChanges = replObj.SubscriberChanges.ToString();
MessageBox.Show(String.Format("Finished with {0} subscriber changes and with {1} publisher changes", countSubScriberChanges, countPublisherChanges));
}
答案 0 :(得分:0)
你需要编写“一些”C#代码,在SSMS向导的末尾你会得到一些示例代码。