RunSqlScriptHandler

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 einer 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

Parametername

Standardwert

Beschreibung

Gültige Beispiele

databaseEngine

oracle

Bestimmt, mit welcher Datenbank eine Verbindung hergestellt werden soll. Akzeptierte Werte sind mysql, oracle und mssql.

 

host
mandatory

 

Dies gilt für die Datenbankverbindung. Der Parameter host 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:

  • Im Falle einer MySQL-Datenbank:

    “jdbc:mysql:” + host + port + “/” + database“
  • Im Falle einer Oracle-Datenbank:

    “jdbc:oracle:thin:@” + host + port + ”:“ + database”
  • Im Falle einer MsSQL-Datenbank:

system.yourcompany.com

port
mandatory

 

Sie enthält den Port, über den auf die Datenbank zugegriffen werden kann.

17102

database
mandatory

 

Hier wird der Name der zu erreichenden Datenbank gespeichert.

MitarbeiterDb

user mandatory

 

Es enthält den Benutzernamen, der für die Authentifizierung verwendet wird.

 

pass
mandatory

 

Es enthält das übereinstimmende Kennwort, das für die Authentifizierung verwendet wird.

 

query
mandatory

 

Der query-Parameter enthält die SQL-Abfrage, die in der Datenbank ausgeführt werden soll.
Wenn Prozessvariablen in die Abfrage eingefügt werden sollen, können sie mit '${variable}' verwendet werden.

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).

  • SELECT * FROM Employee WHERE Sallary > 50000

  • SELECT * FROM Employee WHERE Sallary > '${variable}'

responseVariabl
e
mandatory

 

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.