У меня есть окно SQL Server 2005, настроенное для репликации слияния в SQL Server CE 3.0. Публикация, издатель, дистрибьютор и IIS созданы.Ошибка репликации SQL Server
В моем приложении я пытаюсь синхронизировать базы данных, используя следующий код:
//TODO: Change for production
//***************************
string localDBPath = @"C:\Documents and Settings\Robert\Desktop\MyDB.sdf";
//***************************
SqlCeReplication replicator = new SqlCeReplication();
replicator.InternetUrl = "http://myWebServer/sqlcesa30.dll";
replicator.Publisher = "mySqlServer";
replicator.PublisherDatabase = "myDatabase";
replicator.PublisherSecurityMode = SecurityType.NTAuthentication;
replicator.Publication = "myPublication";
replicator.Subscriber = Dns.GetHostName();
replicator.SubscriberConnectionString = @"Data Source=" + localDBPath;
try
{
// Check if the database file already exists
if (!System.IO.File.Exists(localDBPath))
{
// Add a new subscription and create the local database file
replicator.AddSubscription(AddOption.CreateDatabase);
}
// Transfer the initial snapshot of data if this is the first time this is called.
// Subsequent calls will transfer only the changes to the data.
replicator.Synchronize();
}
catch (SqlCeException ex)
{
// Display any errors in message box
MessageBox.Show(ex.Message);
}
finally
{
// Dispose of the SqlCeReplication object, but don't drop the subscription
replicator.Dispose();
}
К сожалению, этот код не в строке «replicator.Synchronize» со следующим сообщением об ошибке:
Невозможность подключения к SQL Server с предоставленной информацией о подключении. SQL Server не существует, доступ запрещен, поскольку пользователь IIS не является допустимым пользователем на SQL Server, или пароль неверен.
Это сообщение об ошибке не очень ясно для меня, и у меня заканчиваются места, чтобы найти причину этого. Есть идеи?