Hallo zusammen,
ich spiele mich jetzt schon eine Zeit lang mit dem Tutorial von Microsoft, um ein RDA zwischen meinen Server (SQL Server 2005 Express Edition) und meinem PC (SQL Server 2005 Compact Edition)
Das Beispiel von MS ist hier zu finden http://msdn2.microsoft.com/en-us/library/bb226708.aspx
Die Datenverbindung funktionieren alle.
Die Verbindung zum Server über SQLClient
Die Verbindung zum Server über OleDB
Die Verbindung zur lokalen Datei
Ich kann in dem Beispielprojekt die Serverdaten anzeigen lassen und auch editieren, ebenso kann ich die lokale Datei anzeigen und editieren.
Jedoch wenn ich die RDA Pull oder Push Funktion ausführe, dann kommt nur eine Messagebox ohne Inhalt.
Hier ein kleiner Codeauszug der RDAPull Funktion. Die Messagebox kommt aus dem Catch-Pfad, dieser wurde ausgelöst, da anscheinend ein Fehler bei der Zeile "rda.Pull("Contacts....."
Der Link der rda.InternetURL funktioniert, den habe ich getestet. Das einzige wo ich mir nicht so sicher bin, ist der rda.InternetLogin. Wo kann ich nachsehen welcher Benutzer die passenden Rechte hat ? Ich habe es auch schon ohne den 2 Zeile probiert, aber da ändert sich gar nichts.
Ach ja noch was. Wenn die Messagebox erscheint, dass bringt die Ausgabe vom Visual Basic 2005 folgende Meldung
"Eine Ausnahme (erste Chance) des Typs "System.Data.SqlServerCe.SqlCeException" ist in System.Data.SqlServerCe.dll aufgetreten."
Kann mir jemand einen Tipp geben, wo das Problem liegt.
Danke
Gruß Alex
ich spiele mich jetzt schon eine Zeit lang mit dem Tutorial von Microsoft, um ein RDA zwischen meinen Server (SQL Server 2005 Express Edition) und meinem PC (SQL Server 2005 Compact Edition)
Das Beispiel von MS ist hier zu finden http://msdn2.microsoft.com/en-us/library/bb226708.aspx
Die Datenverbindung funktionieren alle.
Die Verbindung zum Server über SQLClient
Die Verbindung zum Server über OleDB
Die Verbindung zur lokalen Datei
Ich kann in dem Beispielprojekt die Serverdaten anzeigen lassen und auch editieren, ebenso kann ich die lokale Datei anzeigen und editieren.
Jedoch wenn ich die RDA Pull oder Push Funktion ausführe, dann kommt nur eine Messagebox ohne Inhalt.
Hier ein kleiner Codeauszug der RDAPull Funktion. Die Messagebox kommt aus dem Catch-Pfad, dieser wurde ausgelöst, da anscheinend ein Fehler bei der Zeile "rda.Pull("Contacts....."
Code:
Private Sub RDAPullButton_Click(ByVal sender As System.Object, ByVal e As
System.EventArgs) Handles RDAPullButton.Click
Windows.Forms.Cursor.Current = Cursors.WaitCursor
Try
VerifyDatabaseExists()
DeleteTable("Contacts")
Dim rda As SqlCeRemoteDataAccess
rda = GetRDAObject()
rda.Pull("Contacts", _
"SELECT CustomerID, CompanyName, ContactName, ContactTitle, Address,
City, Region, PostalCode, Country, Phone, Fax FROM Customers", _
My.Settings.ServerOleDBNorthwindConnectionString, _
RdaTrackOption.TrackingOnWithIndexes, _
"Contacts_Errors")
Catch ex As Exception
MessageBox.Show(ex.ToString())
Finally
Windows.Forms.Cursor.Current = Cursors.Default
End Try
End Sub
Private Function GetRDAObject() As SqlCeRemoteDataAccess
Dim rda As New SqlCeRemoteDataAccess()
rda.InternetLogin = "HS\Alex"
rda.InternetPassword = "passwort"
rda.InternetUrl = "http://Server/Sync/sqlcesa30.dll"
rda.LocalConnectionString = My.Settings.LocalNorthwindConnectionString
Return rda
End Function
Der Link der rda.InternetURL funktioniert, den habe ich getestet. Das einzige wo ich mir nicht so sicher bin, ist der rda.InternetLogin. Wo kann ich nachsehen welcher Benutzer die passenden Rechte hat ? Ich habe es auch schon ohne den 2 Zeile probiert, aber da ändert sich gar nichts.
Ach ja noch was. Wenn die Messagebox erscheint, dass bringt die Ausgabe vom Visual Basic 2005 folgende Meldung
"Eine Ausnahme (erste Chance) des Typs "System.Data.SqlServerCe.SqlCeException" ist in System.Data.SqlServerCe.dll aufgetreten."
Kann mir jemand einen Tipp geben, wo das Problem liegt.
Danke
Gruß Alex