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;                   
        }
Ejemplo n.º 2
0
        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;
        }
Ejemplo n.º 3
0
 /// <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);
 }
Ejemplo n.º 4
0
        /// <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);
        }