Beschreibung
Mit dem ActionHandler RunSqlScriptHandler können Datenbankskripte (z.B.SQL Abfragen) direkt aus dem Prozessmodell ausgeführt werden. Anschließend kann ein Abfrageergebnis angezeigt werden, z.B. in smartform.
Dies ist besonders nützlich, wenn die Prozessbeteiligten Datenbankabfragen benötigen, um die Aufgaben zu bearbeiten. Es verwendet natives SQL, sodass der Benutzer Datenbanken und Tabellen erstellen, aktualisieren und löschen kann.
Des Weiteren können Prozessdaten direkt in die Datenbank gepusht oder Datenbankeinträge im smartform zur Verfügung gestellt werden. Der ActionHandler ist besonders nützlich für transaktionsintensive Prozesse, die auf kritischen Daten basieren. Ein vollständiges Beispiel für den RunSqlScriptHandler in Aktion finden Sie unten.
Klasse
com.dooris.bpm.actionhandler.RunSqlScriptHandler
Parameter
Parametername | Standardwert | Beschreibung | Gültige Beispiele |
---|---|---|---|
|
| Bestimmt, mit welcher Datenbank eine Verbindung hergestellt werden soll. Akzeptierte Werte sind mysql, oracle und mssql. | |
| Dies gilt für die Datenbankverbindung. Der Parameter Gastgeber enthält die URL des Hosts, unter der die Datenbank ausgeführt wird. Es sollte jedoch nicht die gesamte URL angegeben werden, die zur Datenbank führt, Ports usw. werden mit anderen Parametern angegeben und das System erstellt die Anfrage-URL nach diesem Schema:
|
| |
| Sie enthält den Port, über den auf die Datenbank zugegriffen werden kann. |
| |
| Hier wird der Name der zu erreichenden Datenbank gespeichert. |
| |
| Es enthält den Benutzernamen, der für die Authentifizierung verwendet wird. | ||
| Es enthält das übereinstimmende Kennwort, das für die Authentifizierung verwendet wird. | ||
| Der query-Parameter enthält die SQL-Abfrage, die in der Datenbank ausgeführt werden soll. Der RunSqlScriptHandler führt systemeigenes SQL aus. Damit kann das gesamte Spektrum der SQL-Befehle über den Handler verarbeitet werden (z.B. Datenbanken und Tabellen erstellen, aktualisieren oder löschen). |
| |
| Die responseVariable speichert den Namen der Prozessvariablen, die das Ergebnis der ausgeführten SQL-Abfrage enthält. Dadurch ist es möglich, das Abfrageergebnis innerhalb des Systems, z.B. im Smartform, zu verwenden. Es zeigt Ihnen ein JSON-Dokument. |
Beispiel
Das folgende Beispiel veranschaulicht, wie ein SQL-Skript direkt aus einem Prozess ausgeführt werden kann. Die Parameter werden über smartform aufgezeichnet und als Prozessvariablen an den RunSqlScriptHandler übergeben.
Das Prozessmodell könnte so aussehen.
Die erforderlichen Parameter werden in der Skriptaktivität SQL ausführen aufgezeichnet. Am Ende der Aktivität startet die Skriptaktivität Call REST einen REST-Aufruf mit dem HttpRestHandler.
Wenn dies erfolgreich ist, wird die eigentliche SQL-Abfrage in der Skriptaktivität Call DB ausgeführt. Wenn ein Fehler auftritt, wird der Fehler in eine Protokolldatei geschrieben.
Smartformular
Das Smartformular dient nur zur Erfassung der erforderlichen Parameter. In diesem Beispiel werden alle Parameter zur Veranschaulichung als Prozessvariablen bereitgestellt.
In anderen Fällen kann es sinnvoller sein, nur den Benutzer, das Kennwort und die SQL-Abfrage über Smartform abzufragen. Es sollte auch beachtet werden, dass die Parameter Server und Number für den REST-Aufruf erforderlich sind, aber nicht für den DB-Aufruf. Das Ergebnis des DB-Aufrufs kann im Textfeld Antwort angezeigt werden.
Wie oben angegeben, legt der RunSqlScriptHandler systemeigenes SQL fest. Datenbanken und Tabellen können über die Abfrage erstellt, bearbeitet und gelöscht werden. Neben dem Auslesen von Daten können auch Prozessdaten in die Datenbank eingegeben werden.