Поделиться через


SqlCeReplication Class

Инициализация нового экземпляра объекта SqlCeReplication. Дополнительные сведения о репликации SQL Server см. в электронной документации по SQL Server. Дополнительные сведения о репликации слиянием в SQL Server Compact 3.5 см. в электронной документации по SQL Server Compact 3.5. Инициализация нового экземпляра объекта SqlCeReplication. Дополнительные сведения о репликации SQL Server см. в электронной документации по SQL Server. Дополнительные сведения о репликации слиянием в SQL Server Compact 3.5 см. в электронной документации по SQL Server Compact 3.5.

Пространство имен: System.Data.SqlServerCe
Сборка: System.Data.SqlServerCe (в system.data.sqlserverce.dll)

Синтаксис

'Декларация
Public NotInheritable Class SqlCeReplication
    Implements IDisposable
public sealed class SqlCeReplication : IDisposable
public ref class SqlCeReplication sealed : IDisposable
public final class SqlCeReplication implements IDisposable
public final class SqlCeReplication implements IDisposable

Замечания

В настоящее время SQL Server Compact 3.5 не оптимизирован для работы в качестве базы данных для веб-узлов. По умолчанию SQL Server Compact 3.5 блокирует соединения от приложений, работающих через ASP.NET. SQL Server Compact 3.5 оптимизирован для работы с приложениями в качестве внедренной базы данных. Чтобы SQL Server Compact 3.5 мог использоваться в качестве базы данных для веб-узлов, необходима поддержка нескольких пользователей и одновременного изменения данных. Это может привести к снижению производительности. Поэтому такое применение не поддерживается. Для работы в качестве баз данных веб-узлов оптимизированы другие выпуски SQL Server, в том числе SQL Server 2005 Express Edition и более поздние версии.

Совместное применение SQL Server Compact 3.5 и ASP.NET поддерживается для тех случаев, когда ASP.NET используется для создания баз данных SQL Server Compact 3.5 для синхронизации. Следующий код позволяет изменить поведение SQL Server Compact 3.5 по умолчанию для работы в ASP.NET.

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)

Замечания

В настоящее время SQL Server Compact 3.5 не оптимизирован для работы в качестве базы данных для веб-узлов. По умолчанию SQL Server Compact 3.5 блокирует соединения от приложений, работающих через ASP.NET. SQL Server Compact 3.5 оптимизирован для работы с приложениями в качестве внедренной базы данных. Чтобы SQL Server Compact 3.5 мог использоваться в качестве базы данных для веб-узлов, необходима поддержка нескольких пользователей и одновременного изменения данных. Это может привести к снижению производительности. Поэтому такое применение не поддерживается. Для работы в качестве баз данных веб-узлов оптимизированы другие выпуски SQL Server, в том числе SQL Server 2005 Express Edition и более поздние версии.

Совместное применение SQL Server Compact 3.5 и ASP.NET поддерживается для тех случаев, когда ASP.NET используется для создания баз данных SQL Server Compact 3.5 для синхронизации. Следующий код позволяет изменить поведение SQL Server Compact 3.5 по умолчанию для работы в ASP.NET.

AppDomain.CurrentDomain.SetData("SQLServerCompactEditionUnderWebHosting", true)

Иерархия наследования

System.Object
  System.Data.SqlServerCe.SqlCeReplication

Пример

Следующий пример демонстрирует синхронизацию данных между подписчиком SQL Server Compact 3.5 и издателем SQL Server. Создан объект SqlCeReplication, заданы разные свойства объекта SqlCeReplication, и вызван метод Synchronize.

Dim repl As SqlCeReplication = Nothing

Try
    ' Instantiate and configure SqlCeReplication object
    '
    'NOTE: when possible, prompt users to enter security 
    'credentials at runtime. If you store credentials in a file, 
    'you must secure the file to prevent unauthorized access.
    '
    repl = New SqlCeReplication()
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll"
    repl.InternetLogin = "MyInternetLogin"
    repl.InternetPassword = "<enterStrongPassword>"
    repl.Publisher = "MyPublisher"
    repl.PublisherDatabase = "MyPublisherDatabase"
    repl.PublisherLogin = "MyPublisherLogin"
    repl.PublisherPassword = "<enterStrongPassword>"
    repl.Publication = "MyPublication"
    repl.Subscriber = "MySubscriber"
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"

    ' Create the local SQL Mobile Database subscription
    '
    repl.AddSubscription(AddOption.CreateDatabase)

    ' Synchronize to the SQL Server to populate the Subscription 
    '
    repl.Synchronize()
Catch
    ' Handle errors here
    '
Finally
    ' Dispose the repl object
    '
    repl.Dispose()
End Try
SqlCeReplication repl = null;

try
{
    // Instantiate and configure SqlCeReplication object
    //
    //NOTE: when possible, prompt users to enter security 
    //credentials at runtime. If you store credentials in a file, 
    //you must secure the file to prevent unauthorized access.
    //
    repl = new SqlCeReplication();
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll";
    repl.InternetLogin = "MyInternetLogin";
    repl.InternetPassword = "<enterStrongPassword>";
    repl.Publisher = "MyPublisher";
    repl.PublisherDatabase = "MyPublisherDatabase";
    repl.PublisherLogin = "MyPublisherLogin";
    repl.PublisherPassword = "<enterStrongPassword>";
    repl.Publication = "MyPublication";
    repl.Subscriber = "MySubscriber";
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";

    // Create a local SQL Mobile Database subscription
    //
    repl.AddSubscription(AddOption.CreateDatabase);

    // Synchronize to the SQL Server database
    //
    repl.Synchronize();
}
catch (SqlCeException)
{
    // Handle errors here
    //
}
finally
{
    // Dispose the repl object
    //
    repl.Dispose();
}

Пример

Следующий пример демонстрирует синхронизацию данных между подписчиком SQL Server Compact 3.5 и издателем SQL Server. Создан объект SqlCeReplication, заданы разные свойства объекта SqlCeReplication, и вызван метод Synchronize.

Dim repl As SqlCeReplication = Nothing

Try
    ' Instantiate and configure SqlCeReplication object
    '
    'NOTE: when possible, prompt users to enter security 
    'credentials at runtime. If you store credentials in a file, 
    'you must secure the file to prevent unauthorized access.
    '
    repl = New SqlCeReplication()
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll"
    repl.InternetLogin = "MyInternetLogin"
    repl.InternetPassword = "<enterStrongPassword>"
    repl.Publisher = "MyPublisher"
    repl.PublisherDatabase = "MyPublisherDatabase"
    repl.PublisherLogin = "MyPublisherLogin"
    repl.PublisherPassword = "<enterStrongPassword>"
    repl.Publication = "MyPublication"
    repl.Subscriber = "MySubscriber"
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf"

    ' Create the local SQL Mobile Database subscription
    '
    repl.AddSubscription(AddOption.CreateDatabase)

    ' Synchronize to the SQL Server to populate the Subscription 
    '
    repl.Synchronize()
Catch
    ' Handle errors here
    '
Finally
    ' Dispose the repl object
    '
    repl.Dispose()
End Try
SqlCeReplication repl = null;

try
{
    // Instantiate and configure SqlCeReplication object
    //
    //NOTE: when possible, prompt users to enter security 
    //credentials at runtime. If you store credentials in a file, 
    //you must secure the file to prevent unauthorized access.
    //
    repl = new SqlCeReplication();
    repl.InternetUrl = "https://www.adventure-works.com/sqlce/sqlcesa35.dll";
    repl.InternetLogin = "MyInternetLogin";
    repl.InternetPassword = "<enterStrongPassword>";
    repl.Publisher = "MyPublisher";
    repl.PublisherDatabase = "MyPublisherDatabase";
    repl.PublisherLogin = "MyPublisherLogin";
    repl.PublisherPassword = "<enterStrongPassword>";
    repl.Publication = "MyPublication";
    repl.Subscriber = "MySubscriber";
    repl.SubscriberConnectionString = "Data Source=MyDatabase.sdf";

    // Create a local SQL Mobile Database subscription
    //
    repl.AddSubscription(AddOption.CreateDatabase);

    // Synchronize to the SQL Server database
    //
    repl.Synchronize();
}
catch (SqlCeException)
{
    // Handle errors here
    //
}
finally
{
    // Dispose the repl object
    //
    repl.Dispose();
}

Многопоточное использование

Все общие статические члены (Shared в Microsoft Visual Basic) этого типа можно использовать в многопоточных операциях. Безопасная многопоточная работа с членами экземпляров типа не гарантируется.

Платформы

Платформы разработки

Windows Vista, Windows Mobile 5.0, Windows XP Professional with Service Pack 2 (SP2), Windows Server 2003, Windows Mobile 2003 for Pocket PC, Windows CE 5.0
Сведения о версии
.NET Framework и NET Compact Framework
Поддерживается в версии 3.5
.NET Framework
Поддерживается в версии 3.0
.NET Compact Framework и .Net Framework
Поддерживается в версии 2.0

См. также

Справочник

SqlCeReplication Members
System.Data.SqlServerCe Namespace