Используя SQL ManagementStudio 2008, я создал SQL 3.5 Compact DB (TestCompact.sdf) и создал подписку на существующую публикацию.Используя SQL Management Studio это работает.Я перенес TestCompact.sdf на устройство эмулятора Windows Mobile 5, и с помощью QueryAnalyzer for Mobile я мог запросить существующие таблицы в TestCompact.sdf.Я не знаю, как начать синхронизацию репликации на этом мобильном устройстве.Нужно ли мне писать какой-нибудь код на C # или это возможно сделать проще?
РЕДАКТИРОВАТЬ: (Добавлено после ответа на мой вопрос) Может быть, кому-то будет полезно узнать, какой код на C # сделал для меня:Использование SQL Management Studio - Свойства существующей подписки для моей компактной БД) Я прочитал, каковы значения для свойств 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));
}