public SqlCeReplicationHelper(string connectionString, string url, string publisher, string publicationDatabase, string publication, string subscriber, string hostName, bool useNT, string internetUsername, string internetPassword, string publisherUsername, string publisherPassword, bool isNew, ReinitializeOption reinitialize) { this.repl = new SqlCeReplication(); repl.SubscriberConnectionString = connectionString; _isNew = isNew; _reinitialize = reinitialize; if (isNew) { repl.AddSubscription(AddOption.ExistingDatabase); } if (useNT) { repl.PublisherSecurityMode = SecurityType.NTAuthentication; } else { repl.PublisherSecurityMode = SecurityType.DBAuthentication; } repl.Publisher = publisher; repl.PublisherLogin = publisherUsername; repl.PublisherPassword = publisherPassword; repl.PublisherDatabase = publicationDatabase; repl.Publication = publication; repl.InternetUrl = url; repl.InternetLogin = internetUsername; repl.InternetPassword = internetPassword; repl.Subscriber = subscriber; repl.HostName = hostName; }
public SqlCeReplicationHelper(string connectionString, string url, string publisher, string publicationDatabase, string publication, string subscriber, string hostName, bool useNT, string internetUsername, string internetPassword, string publisherUsername, string publisherPassword, bool isNew, ReinitializeOption reinitialize) { this.repl = new SqlCeReplication(); repl.SubscriberConnectionString = connectionString; _isNew = isNew; _reinitialize = reinitialize; if (isNew) { repl.AddSubscription(AddOption.ExistingDatabase); } if (useNT) { repl.PublisherSecurityMode = SecurityType.NTAuthentication; } else { repl.PublisherSecurityMode = SecurityType.DBAuthentication; } repl.Publisher = publisher; repl.PublisherLogin = publisherUsername; repl.PublisherPassword = publisherPassword; repl.PublisherDatabase = publicationDatabase; repl.Publication = publication; repl.InternetUrl = url; repl.InternetLogin = internetUsername; repl.InternetPassword = internetPassword; repl.Subscriber = subscriber; repl.HostName = hostName; }
/// <summary> /// Initiate a synchronization with the Web Agent based on the settings in app.config /// </summary> /// <param name="connection">A SqlCeConnection that point to the local database. Preferably closed.</param> /// <param name="hostName">The parameter used to filter the Publication</param> /// <param name="option">ReinitializeOption</param> public void Synchronize(SqlCeConnection connection, int hostName, ReinitializeOption option) { Synchronize(connection, hostName.ToString(), -1, string.Empty, option); }
/// <summary> /// Initiate a synchronization with the Web Agent based on the settings in app.config /// </summary> /// <param name="connection">A SqlCeConnection that point to the local database. Preferably closed.</param> /// <param name="hostName">The parameter used to filter the Publication (not required)</param> /// <param name="additionalId">Additional identification</param> /// <param name="additionalInfo">Additional information</param> /// <param name="option">ReinitializeOption</param> public void Synchronize(SqlCeConnection connection, string hostName, int additionalId, string additionalInfo, ReinitializeOption option) { _hostName = hostName; _additionalId = additionalId; _additionalInfo = additionalInfo; _connection = connection; CreateDatabaseIfNotExists(connection); if (connection.State == ConnectionState.Open) { connection.Close(); } var props = GetProperties(); var repl = new SqlCeReplication(); repl.Subscriber = hostName; repl.SubscriberConnectionString = GetSubscriberConnectionString(connection); if (!string.IsNullOrWhiteSpace(hostName)) { repl.HostName = hostName; repl.Subscriber = hostName; } if (!string.IsNullOrWhiteSpace(props.Subscriber)) { repl.Subscriber = props.Subscriber; } repl.PostSyncCleanup = 2; SetProperties(props, repl); InsertSyncLog(connection, hostName, additionalId, "Attempt", additionalInfo); if (option == ReinitializeOption.ReinitializeNoUpload) { repl.ReinitializeSubscription(false); } if (option == ReinitializeOption.ReinitializeUploadSubscriberChanges) { repl.ReinitializeSubscription(true); } repl.BeginSynchronize( SyncCompletedCallback, OnStartTableUploadCallback, OnStartTableDownloadCallback, OnSynchronizationCallback, repl); }