Das Message-Ereignis wird ausgelöst, wenn dbmlsync Daten protokolliert.
Public Event Message(_ ByVal Meldungsklasse As DbmlsyncCOM.MessageClass, _ ByVal Meldungs_ID As Integer, ByVal Meldung As String_ ) Member of DbmlsyncCOM.Dbmlsync
Meldungsklasse Zeigt den Schweregrad der Meldung an. Folgende Werte sind möglich:
MsgInfo Eine Meldung, die Informationen über den Fortschritt der Synchronisation angibt
MsgDetailedInfo Wie MsgInfo, enthält aber mehr Details.
MsgWarning Eine Meldung, die auf ein potenzielles Problem hinweist, das die erfolgreiche Synchronisation nicht verhindert.
MsgError Eine Meldung, die auf ein Problem hinweist, das die erfolgreiche Synchronisation verhindert.
Meldungs_ID Ein eindeutiger Bezeichner für die Meldung. Wenn MeldungsID Null ist, hat die Meldung keinen eindeutigen Bezeichner.
Meldung Der Text der Meldung
Mit diesem Ereignis können Sie von dbmlsync protokollierte Informationen empfangen. Wenn sie spezielle Verarbeitungsschritte hinzufügen wollen, sobald eine bestimmte Nachricht generiert wurde, prüfen Sie dies nach MsgID. Auf diese Weise läuft Ihr Programmcode auch weiter, wenn sich der Text der Nachricht ändert.
Im folgenden Visual Basic .NET-Beispiel werden von dbmlsync protokollierte Meldungen in ein Listenfeld-Steuerelement eingefügt.
Private Sub dbmlsync1_Message( ByVal msgClass As DbmlsyncCOM.MessageClass, ByVal msgId As Integer, ByVal msg As String ) Handles dbmlsync1.Message Select Case msgClass Case DbmlsyncCOM.MessageClass.MsgError lstMessages.Items.Add("Error: " + msg) Case DbmlsyncCOM.MessageClass.MsgWarning lstMessages.Items.Add("Warning: " + msg) Case DbmlsyncCOM.MessageClass.MsgInfo lstMessages.Items.Add("Info: " + msg) Case DbmlsyncCOM.MessageClass.MsgDetailedInfo lstMessages.Items.Add("DetInfo: " + msg) End Select End Sub |
Im folgenden Visual Basic .NET-Beispiel wird das Message-Ereignis für die Fehlerbehandlung eingerichtet. Fehlermeldungen werden zu einem ListBox-Steuerelement mit dem Namen "1stMessage" hinzugefügt.
Private Sub dbmlsync1_Message(ByVal msgClass As DbmlsyncCOM.MessageClass, ByVal msgId As Integer, ByVal msg As String) Handles dbmlsync1.Message If msgClass = DbmlsyncCOM.MessageClass.MsgError Then lstMessages.Items.Add("Error: " + msgId.ToString() + " " + msg) End If End Sub |
Um mögliche Fehler-IDs zu ermitteln, sollten Sie einen Testdurchlauf der Dbmlsync-Integrationskomponenten durchführen. Wenn dbmlsync beispielsweise den Fehler "Verbindung mit MobiLink-Server kann nicht hergestellt werden" zurückgibt, fügt das Message-Ereignis den folgenden Eintrag in 1stMessages ein:
Error: 14173 Unable to connect to MobiLink server. |
Nun können Sie den Fehler "Unable to connect to MobiLink server" (Verbindung mit MobiLink-Server kann nicht hergestellt werden) mit der Fehler-ID 14173 in Verbindung bringen. Das folgende Beispiel stellt die Dbmlsync-Integrationskomponente so ein, dass beim Auftreten des Fehlers 14173 erneut eine Synchronisation versucht wird. Das Message-Ereignis setzt eine Variable namens "restartSynchronization" und setzt als Reaktion auf Fehler 14173 eine Variable namens "numberOfRestarts" zurück. Das EndSynchronization-Ereignis versucht bis zu fünf Mal, die Synchronisation erneut durchzuführen.
' variables for restarting synchronization Dim numberOfRestarts As Integer = 0 Dim restartSynchronization As Integer = 0 Private Sub dbmlsync1_Message ( ByVal msgClass As DbmlsyncCOM.MessageClass, ByVal msgId As Integer, ByVal msg As String ) Handles dbmlsync1.Message If msgClass = DbmlsyncCOM.MessageClass.MsgError Then lstMessages.Items.Add("Error: " + msgId.ToString() + " " + msg) If msgId = 14173 Then restartSynchronization = 1 numberOfRestarts = 0 End If End If End Sub Private Sub dbmlsync1_EndSynchronization(ByVal ExitCode As Integer, _ ByRef restart As Boolean _ ) Handles dbmlsync1.EndSynchronization If restartSynchronization = 1 Then If numberOfRestarts < 5 Then restart = True numberOfRestarts = numberOfRestarts + 1 End If End If End Sub |
Kommentieren Sie diese Seite in DocCommentXchange. Senden Sie uns Feedback über diese Seite via E-Mail. |
Copyright © 2009, iAnywhere Solutions, Inc. - SQL Anywhere 11.0.1 |