2012-03-29 11 views
0

Ich habe diesen Code im Ereignis zum Laden der Seite hinzugefügt, und die Daten in der lokalen Datenbank werden mit der Serverdatenbank synchronisiert, aber ich bekomme die Werte, die sich in der Serverdatenbank befinden, nicht zurück.Datensynchronisierung in C#

Ich habe auch den Code in LocalDataCache1.sync wie im Forum erwähnt hinzugefügt und die Datenbank.sdf in "Nicht kopieren" geändert.

Die Daten vom Server füllen den Tableadapter aus, aber die lokale Datenbank wird nicht aktualisiert.

void HomeLoad(object sender, EventArgs e) 
    { 
     this.Validate(); 
     clientBindingSource.EndEdit(); 
     tableAdapterManager1.UpdateAll(this.DataSet);    

     // Call SyncAgent.Synchronize() to initiate the synchronization process. 
     // Synchronization only updates the local database, not your project’s data source. 

     LocalDataCache1SyncAgent syncAgent = new LocalDataCache1SyncAgent(); 
     syncAgent.tbl_Miscellaneous.SyncDirection = Microsoft.Synchronization.Data.SyncDirection.Bidirectional; 
     Microsoft.Synchronization.Data.SyncStatistics syncStats = syncAgent.Synchronize(); 

     //TODO: Reload your project data source from the local database (for example, call the TableAdapter.Fill method). 
     miscellaneousTableAdapter1.Update(DataSet.Miscellaneous); 
     miscellaneousTableAdapter1.Fill(DataSet.Miscellaneous);    
     DataSet.Miscellaneous.Merge(this.miscellaneousTableAdapter1.GetData()); 
    } 
+0

nur um zu verdeutlichen, Änderungen in Ihrer lokalen Datenbank spiegelt sich auf dem Server wider, aber Änderungen im Server wird nicht zurück zu Ihrem Client synchronisiert? – JuneT

+0

Ja, du hast recht JuneT, ich bekomme die gleichen Änderungen wie du erwähnt hast. – Manju

+0

Versuchen Sie, das ApplyChangeFailed-Ereignis zu abonnieren und festzustellen, ob Fehler beim Anwenden von Änderungen vom Server vorhanden sind, oder abonnieren Sie das ChangesSelected-Ereignis auf der Serverseite, und bestätigen Sie, ob die Änderungen überhaupt ausgewählt sind. – JuneT

Antwort

-1

Es wird nicht automatisch auf Ihre lokale Datenbank aktualisiert. Sie müssen dies manuell mithilfe von Databases und Datasets der replizierten Serverdatenbank hinzufügen.

+0

Warum benötigen Sie ein Synchronisierungsframework, wenn Sie die Datensätze manuell hinzufügen möchten? Hast du überhaupt die Frage gelesen? – JuneT