Neuzuordnung von Fehlermeldungen im Jitterbit App Builder
Übersicht
Mit dem App Builder können Entwickler benutzerfreundliche, allgemeine Ersatzmeldungen für Datenbankausnahmefehler bereitstellen. Benutzerfreundliche Meldungen helfen Benutzern, die mit Datenbanktechnologie nicht vertraut sind, zu verstehen, was bei einem Fehler passiert ist. Das Ersetzen von Fehlermeldungen wie Violation of PRIMARY KEY constraint 'PK_ProductInt'
mit etwas Verständlicherem wie Record already exists
kann die Benutzerfreundlichkeit erheblich verbessern.
Um eine Fehlermeldung neu zuzuordnen, müssen zunächst mehrere Schritte ausgeführt werden, um die Ausnahme zu identifizieren:
-
Der Datenbanktyp wird durch Abgleich der Eigenschaften der Ausnahme bestimmt:
-
Typname: Dies ist der vollständige Name der Ausnahmeklasse.
-
Quelle: Dies ist das Assembly-Paket für die DLL.
-
Mithilfe regulärer Ausdrücke für die Ausnahmemeldung und die Datenparameter wird versucht, die Datenbankfehlermeldung abzugleichen.
- Zunächst wird die Liste der datenbankspezifischen Ausnahmemeldungen in
Index
Reihenfolge - Wenn keine Übereinstimmung gefunden wird, wird die Liste der allgemeinen Ausnahmemeldungseinträge durchsucht in
Index
Reihenfolge
- Zunächst wird die Liste der datenbankspezifischen Ausnahmemeldungen in
Wird keine Übereinstimmung gefunden, bleibt die Ausnahmemeldung unverändert.
Datenbanktypzuordnung
Mithilfe der Datenbanktypzuordnung kann der Entwickler Ausnahmeklassen bestimmten Datenbanktypen zuordnen. Dadurch kann beim Neuzuordnen einer Ausnahmemeldung eine kleinere Anzahl von Ausnahmemeldungen untersucht werden.
Standardmäßig sind viele der typischen Datenbanktypen im App Builder bereits vorab ausgefüllt. Sollte ein neuer Eintrag erforderlich sein, kann ein Entwickler die folgenden Schritte ausführen, um eine neue Datenbankzuordnung hinzuzufügen:
-
Navigieren Sie zu App Builder IDE > Konfiguration > Fehlermeldungen:
-
Klicken Sie im Bereich Datenbanktyp auf die Schaltfläche Konfigurieren in der Symbolleiste:
-
Klicken Sie auf Erstellen.
-
Wählen Sie Ihren Datenbanktyp und geben Sie die folgenden Details ein:
-
Typname: Der vollständige Name der Ausnahmeklasse (z. B.
System.Data.SqlClient.SqlException
) - Quelle: Optionales Feld zur Angabe des DLL-Assembly-Namens. Dieses Feld ist nützlich, wenn ein Systemausnahmetyp für eine bestimmte Assembly neu zugeordnet wird. Beispielsweise ordnet der Rest-Datenbanktyp den Systemtyp neu zu.
System.InvalidOperationException
für dieVinyl.DataSource.Rest
Nur Assembly. -
Beschreibung: Optionales Feld zur Eingabe einer Beschreibung des Eintrags.
-
Klicken Sie auf das Häkchen, um den Eintrag zu speichern.
Ausnahmefehlermeldungen können nun dem konfigurierten Datenbanktyp zugeordnet werden.
Fehlermeldungen
Um eine Fehlermeldung erfolgreich neu zuordnen zu können, muss ein intelligenter, benutzerfreundlicher Eintrag in der Fehlermeldungstabelle vorgenommen werden. Einträge können einer von zwei Listen hinzugefügt werden:
- Eine Fehlermeldung für einen bestimmten Datenbanktyp (z. B.
Microsoft SQL Server
) - Eine Fehlermeldung für einen beliebigen Datenbanktyp
Wenn eine Datenbankausnahme auftritt, wird zunächst die Liste der Fehlermeldungen für den zugeordneten Datenbanktyp geprüft. Wird keine Übereinstimmung gefunden, wird die Liste der nicht spezifischen Datenbanktypmeldungen (Fehlermeldungen mit einem NULL-Datenbanktyp) geprüft. Jede Liste ist sortiert nach Index
.
So geben Sie eine neue Fehlermeldung ein:
- Navigieren Sie zu App Builder IDE > Konfiguration > Fehlermeldungen
-
Klicken Sie im Bereich Fehler auf Erstellen und geben Sie die Details ein:
Fehlermeldungsparameter
Die Parameterliste für eine Fehlermeldung lautet wie folgt:
Nachricht
Die dem Benutzer anzuzeigende Ersetzungsmeldung. Diese Meldung kann Ersetzungsparameter in Form benannter Regex-Erfassungsgruppen (der Ausnahmemeldung) enthalten. Pattern
) oder Ausnahmedatenparameternamen mithilfe des App Builder {{name}}
Syntax.
Muster
Dies ist das reguläre Ausdrucksmuster, das zum Abgleichen der Ausnahmemeldung verwendet wird. Dieses Muster kann benannte Erfassungsgruppen angeben, z. B.: Capture group 'Key' inside quotation marks "(?<Key>.*)"
.
Hinweis
Das Muster verwendet einzeilige reguläre Ausdrücke. Mehrzeilige Übereinstimmungen werden derzeit nicht unterstützt.
Beispielmuster:
Parameter | Wert |
---|---|
Beispiel | Violation of PRIMARY KEY constraint 'PK_OrderDetails'. |
Muster | ^Violation of PRIMARY KEY constraint '(?<Key>.*)'. |
Nachricht | Row already exists for key '{{Key}}'. |
Ausgaben Row already exists for key 'PK_OrderDetails'.
Die Übereinstimmung beginnt am Anfang der Zeichenfolge. Enthält eine Erfassungsgruppe namens Key
was passt PK_OrderDetails
innerhalb der einfachen Anführungszeichen.
Beispiel
Dies ist ein Beispiel für eine Ausnahmemeldung, die mit der angegebenen Fehlermeldung übereinstimmt. Pattern
Bei Eingabe eines Beispiels wird der reguläre Musterausdruck validiert.
Stichwortverzeichnis
Der Index ermöglicht die Sortierung von Fehlermeldungen. Beachten Sie: Index
ist kein eindeutiger Schlüssel. Mehrere Fehlermeldungen können denselben Index
da die meisten Übereinstimmungen nicht wirklich sortiert werden können. Standardmäßig Index
ist auf 100 gesetzt, und in den meisten Fällen ist es sinnvoll, ihn unverändert zu lassen. Einige Übereinstimmungen können jedoch offensichtlich an den Anfang oder das Ende der Verarbeitungsliste verschoben werden. Wenn der Entwickler beispielsweise ein Catch-All-Muster erstellen möchte, das mit jeder Zeichenfolge übereinstimmt (so dass die Ausnahmemeldung immer neu zugeordnet wird, auch wenn alle vorherigen Übereinstimmungen fehlschlagen), könnte er einen sehr hohen Index
Wert (z. B. 9999).
Ausnahmedaten
Der Data
Das Wörterbuch der Parameter für eine Ausnahme kann ebenfalls abgeglichen werden. Dies ist nützlich, wenn eine Ausnahme eine allgemeine Meldung enthält, aber spezifische Ausnahmedetails im Data
Wörterbuch. Es gibt drei Data
Einträge, die einer Fehlermeldung hinzugefügt werden können. Doppelklicken Sie auf die Fehlermeldung, um die vollständige Liste der Ausnahmedatenparameter anzuzeigen.
Name
: Der Name des AusnahmedatenparametersRegex
: Der reguläre Ausdruck, der mit dem Parameterwert der Ausnahmedaten abgeglichen werden soll.
Auswechslungen
Wie bereits erwähnt, ist die benutzerfreundliche Message
kann Ersetzungen enthalten, die entweder zu Folgendem führen:
- Einer benannten Erfassungsgruppe im
Pattern
oder - Ein Ausnahmedatenparametername
Die Syntax der Ersetzungen lautet: {{name}}
und kann überall innerhalb der Message
.
Versand von Benutzernachrichten
Benutzerdatenbanktypzuordnungen und Fehlermeldungen werden mit den in der App Builder Instanz erstellten LPs gepackt. Wenn ein LP auf einer anderen App Builder Instanz installiert wird, werden diese Benutzereinträge ebenfalls installiert. Dies folgt dem gleichen Muster wie benutzerdefinierte mvSQL-Funktionen. Die neuen Einträge werden sofort nach der Installation aktiv. Derzeit gibt es keine Möglichkeit, diese Funktionalität zu deaktivieren.