Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (Deutsch) » MobiLink - Serverinitiierte Synchronisation » MobiLink-Server-Einstellungen für serverinitiierte Synchronisation » Notifier-Ereignisse » Polling-Ereignisse

 

error_handler-Ereignis

Konfigurieren Sie dieses Ereignis so, dass es darauf hinweist, wenn eine Übertragung fehlgeschlagen ist oder nicht bestätigt wurde. Wenn eine Übertragung fehlschlägt, können Sie mit diesem Ereignis eine Zeile in eine Audit-Tabelle einfügen oder eine Push-Benachrichtigung senden.

In der folgenden Tabelle sind die Parameter aufgelistet, die mit dem error_handler-Ereignis erfasst werden können:

Skriptparameter Typ Beschreibung
request_option (out) Integer

Regelt, wie der Notifier die Push-Anforderung verarbeitet, nachdem die Fehlerbehandlungsroutine beendet wurde. Die Ausgabe kann einen der folgenden Werte haben:

  • 0: Standardaktion basierend auf dem Fehlercode durchführen und Fehler protokollieren.
  • 1: Nichts tun.
  • 2: Das request_delete-Ereignis ausführen.
  • 3: Zustellung über ein sekundäres Gateway versuchen.
error_code (in) Integer

Verwenden Sie einen der folgenden Werte für den Fehlercode:

  • -1: Zeitüberschreitung der Anforderung mit Erfolgsbestätigung.
  • -8: Während des Zustellungsversuchs ist ein Fehler aufgetreten.
request_id (in) Integer Identifiziert die Anforderung.
gateway (in) Varchar Gibt das mit der Anforderung verbundene Gateway an.
address (in) Varchar Gibt die mit der Push-Anforderung verbundene Adresse an.
subject (in) Varchar Gibt den mit der Push-Anforderung verbundenen Betreff an.
content (in) Varchar Gibt den mit der Push-Anforderung verbundenen Inhalt an.
Hinweis

Dieses Ereignis erfordert eine Systemprozedur. Es ist nicht möglich, dieses Ereignis direkt mithilfe von Sybase Central zu konfigurieren. Weitere Hinweise finden Sie unter MobiLink-Server-Einstellungen für serverinitiierte Synchronisation.

Siehe auch
Beispiel

Im folgenden Beispiel erstellen Sie die Tabelle CustomError und protokollieren mit der gespeicherten Prozedur CustomErrorHandler Fehler in der Tabelle. Der Ausgabeparameter Notifier_opcode ist immer 0. Daher wird die Notifier-Standardverarbeitung verwendet.

CREATE TABLE CustomError(
    error_code  integer,
    request_id  integer,
    gateway  varchar(255),
    address  varchar(255),
    subject  varchar(255),
    content  varchar(255),
    occurAt  timestamp not null default timestamp
);

CREATE PROCEDURE CustomErrorHandler(
    out @Notifier_opcode integer,
    in @error_code  integer,
    in @request_id  integer,
    in @gateway   varchar(255),
    in @address   varchar(255),
    in @subject   varchar(255),
    in @content   varchar(255)
)

BEGIN
    INSERT INTO CustomError( 
        error_code,
        request_id,
        gateway,
        address,
        subject,
        content)
    VALUES(
        @error_code,
        @request_id,
        @gateway,
        @address,
        @subject,
        @content
    );
    SET @Notifier_opcode = 0;
END

Mit dem folgenden Befehl können Sie die gespeicherte Prozedur ml_add_property mit einer konsolidierten SQL Anywhere-Datenbank verwenden:

call ml_add_property( 
    'SIS',
    'Notifier(myNotifier)',
    'error_handler',
    'call CustomErrorHandler(?, ?, ?, ?, ?, ?, ?)');

Alternativ dazu können Sie dieses Ereignis auslösen, indem Sie einer Notifier-Konfigurationsdatei folgende Zeile hinzufügen:

Notifier(myNotifier).error_handler = call CustomErrorHandler(?, ?, ?, ?, ?, ?, ?)

Führen Sie die Datei mit der mlsrv11-Option -notifier aus. Weitere Hinweise zum Konfigurieren einer Notifier-Konfigurationsdatei finden Sie unter Serverseitige Einstellungen mit der Notifier-Konfigurationsdatei konfigurieren.