WMS2019(1.0.0)
Diese Aktivität führt eine SELECT-Anweisung auf der angegebenen Datenbank aus. Für jede Zeile, die das SELECT-Statement zurückliefert, werden die Aktivitäten, welche in der Select-Aktivität abgelegt sind einmal ausgeführt. Dabei stellt die Variable "aDataRecord" vom Typ WmsDataRecord einen Datensatz (d.h. also eine Zeile des Ergebnisses der Select-Abfrage) dar.
Über den Spaltennamen kann auf den Wert des Datensatzes zugegriffen werden. Mit den entsprechenden Methoden der WmsDataRecord-Klasse können Sie den Wert auch typisiert auslesen.
aDataRecord.GetStringValue("DocName")
aDataRecord.GetGuidValue("DocId")
Eigenschaften
Eingabe
Name | Beschreibung | Datentyp | Erforderlich |
---|---|---|---|
Datenbankverbindung | Konfiguration der Datenbankverbindung | WmsSettingMapping | |
Select-Befehl | SELECT-Befehl, der ausgeführt werden soll (Kann über einen Editor erstellt werden). | String |
Variablen
Name | Beschreibung | Datentyp |
---|---|---|
aDataRecord | Variable, die in den inneren Aktivitäten verwendet werden kann. Auflistung aller Spalten, die im Select-Befehl angegeben wurden. Mit DataRecord (“Spaltenname“) kann auf den Inhalt einer Zelle zugegriffen werden. | WmsDataRecord |
Fehlermeldungen
Beschreibung | Datentyp |
---|---|
Ungültige Datenbank-Konfiguration | |
SQL-Statement ist ungültig | |
Fehler in den inneren Aktivitäten |
SQL-Eingabe
Um einfache SELECT-Befehle zusammenzubauen können Sie den SQL-Befehlswizard verwenden, den Sie über die Schaltfläche in der Aktivität erreichen.
Wählen Sie zunächst die Datenbank-Tabelle oder View aus, von der Sie Daten ermitteln möchten. Automatisch listet der Wizard dann die enthalten Spalten mit deren Datentyp auf. Wählen Sie schließlich die Spalten, die Sie für die Abfrage benötigen. Der Wizard baut daraus den SELECT-Befehl zusammen. Diesen können Sie auch bearbeiten. Mit "Ok" bestätigen wird der SELECT-Befehl in die Aktivität übernommen.Verwenden Sie die Schaltfläche "Parameter definieren", um Typisierungs-Werte aus einer Variable in das SQL-Statement einzufügen. Dadurch vermeiden Sie das umständliche Zusammenbauen und Konvertieren der Variable in den SQL-String. Die Eingabe von Parametern auf diesen Weg dient zudem der Sicherheit, um SQL-Injection zu vermeiden.
Parameter-Fenster über Schaltfläche "Parameter definieren" öffnen
Oben werden die Parameter angezeigt, unten der SQL-Befehl.Parameter in der Liste hinzufügen
Wichtig bei SQL-Servern: Der Name muss mit einem "@" beginnen.
Die Richtung besagt, ob der Parameter der Eingabe und/oder der Ausgabe für den SQL-Befehl dient
Ein: Alle Informationen, die der SQL-Abfrage übergeben werden
Aus: Alles Informationen, die die SQL-Abfrage zurück liefert
Wert: hier einen Wert oder eine Variable eintragen
SQL-Befehl schreiben
MsSQL: Auf den Parameter können sie mit "@Parametername" zugreifen
Odbc: Die Odbc-Schnittstellte verwendet keine Parameternamen, sondern ein "?" als Platzhalter. Dabei ist die Reihenfolde der Parameter wichtig.
Dialog bestätigen
Odbc
Bei Verwendung einer Odbc-Verbindung, nutzen Sie statt dem Parameternamen (@Param) ein Fragezeichen (?). Die Fragenzeichen-Platzhalter werden in der Reihenfolge der Parameter aufgelöst.
Kommentare
Im SQL-Statement können Sie SQL-Kommentare zur Dokumentation verwenden. Beispielsweise kann es hilfreich sein, die Fragezeichen-Platzhalter der Odb-Schnittstellte mit dem Namen zu kommentieren.
Bei der Angabe von ausgehenden Parametern ist der Typ anzugeben, bei eingehenden Parametern wird der Typ automatisch ermittelt. Im SQL-Statement können Sie dem ausgehenden Parameter einen Wert zuweisen.
(links MsSql, rechts Odbc)
FAQ
Performanz bei großen Datenmengen
Bei großen Datenmengen (mehr als 2000 Ergebnisse in der Select-Abfrage) kann es zu Performanceeinbußen kommen. Grund dafür ist die Protokollierung. Wenn Sie Performance-Probleme mit der Select-Aktivität haben, deaktivieren Sie die Überwachungsteilnehmer in den Protokolleinstellungen.