2 Datenbanken synchronisieren - scope_info Fehler

  • VB.NET
  • .NET (FX) 4.5–4.8

    2 Datenbanken synchronisieren - scope_info Fehler

    Guten Tag,

    nun habe ich es endlich nach langer Suche geschafft einen Code zu schreiben, der angeblich meine beiden Datenbanken synchronisieren soll (local und remote) und dann taucht schon gleich der erste Fehler auf.

    Hier der Code (ich entschuldige mich für die Unordentlichkeiten):

    VB.NET-Quellcode

    1. Public Sub ProvisionServer()
    2. Dim serverConn As New SqlConnection("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\CHRIS_000\DOCUMENTS\BURSCH_LOKAL.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
    3. Dim scope As New DbSyncScope("MySyncScope")
    4. Dim scopeDesc As New DbSyncScopeDescription("MySyncScope")
    5. Dim cusTableDesc As DbSyncTableDescription
    6. cusTableDesc = SqlSyncDescriptionBuilder.GetDescriptionForTable("tb_customer", serverConn)
    7. scopeDesc.Tables.Add(cusTableDesc)
    8. Dim serverProvision As New SqlSyncScopeProvisioning(scopeDesc)
    9. serverProvision.SetCreateTableDefault(DbSyncCreationOption.Skip)
    10. serverProvision.Apply(serverConn)
    11. End Sub
    12. Public Sub ProvisionClient()
    13. Dim clientConn As New SqlConnection("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\CHRIS_000\DOCUMENTS\BURSCH.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
    14. Dim serverConn As New SqlConnection("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\CHRIS_000\DOCUMENTS\BURSCH_LOKAL.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
    15. Dim scope As New DbSyncScope("bursch")
    16. Dim scopeDesc As New DbSyncScopeDescription("bursch")
    17. scopeDesc = SqlSyncDescriptionBuilder.GetDescriptionForScope("bursch", serverConn)
    18. Dim clientProvision As New SqlSyncScopeProvisioning(scopeDesc)
    19. clientProvision.Apply(serverConn)
    20. End Sub
    21. Private Sub btn_sync(sender As Object, e As EventArgs) Handles btn_synch.Click
    22. Dim clientConn As New SqlConnection("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\CHRIS_000\DOCUMENTS\BURSCH.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
    23. Dim serverConn As New SqlConnection("Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=C:\USERS\CHRIS_000\DOCUMENTS\BURSCH_LOKAL.MDF;Integrated Security=True;Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False")
    24. ProvisionServer()
    25. ProvisionClient()
    26. Dim syncOrchestrator As New SyncOrchestrator
    27. syncOrchestrator.LocalProvider = New SqlSyncProvider("bursch", clientConn)
    28. syncOrchestrator.RemoteProvider = New SqlSyncProvider("bursch", serverConn)
    29. syncOrchestrator.Direction = SyncDirectionOrder.UploadAndDownload
    30. Dim syncStats As SyncOperationStatistics
    31. syncStats = syncOrchestrator.Synchronize
    32. MsgBox(syncStats.UploadChangesTotal)
    33. End Sub


    Und hier dann die Fehlermeldung, sobald ich auf den Button btn_sync klicke:

    Microsoft.Synchronization.Data.DbSyncException: "In der Tabelle '[scope_info]' wurde kein gültiger Bereich mit dem Namen 'bursch' gefunden. Stellen Sie sicher, dass dieser Bereich und in der Konfigurationstabelle '[scope_config]' eine entsprechende gültige Konfiguration vorhanden ist."

    Aber im Code wurde 'bursch' ja erstellt und auch eingetragen, also ist mir keine Lösung eingefallen.
    Ich hoffe jemand kann mir weiterhelfen, da es wirklich dringend ist, dieses Programm fertigzustellen

    Gruß Chris