Der Funktionsbaustein FB_SqlDbRead wird verwendet, um SQL-Requests auszuführen, die Daten aus der SQL-Datenbank auslesen. Die Rückgabedaten werden in einem zweidimensionalen Daten-Array bereitgestellt, dessen Größe über globale Parameter festgelegt wird.
Der Funktionsbaustein FB_SqlDbRead fungiert als Benutzerschnittstelle für das Lesen von Daten in der SQL-Datenbank.
Bei Erkennung einer steigenden Flanke an i_xExecute wird unter Verwendung der in der Struktur ST_ConnectionSettings definierten Parameter eine Verbindung zum SQL Gateway hergestellt. Sobald die Verbindung aufgebaut ist, kann der Funktionsbaustein einen SQL-Request an die SQL-Datenbank senden.
Statusmeldungen und Diagnoseinformationen werden unter Verwendung der Ausgänge q_xError (TRUE, wenn ein Fehler erkannt wurde), q_etResult und q_etResultMsg bereitgestellt.
Eingang |
Datentyp |
Beschreibung |
---|---|---|
i_xExecute |
BOOL |
Der Funktionsbaustein führt einen SQL-Request aus, um bei einer steigenden Flanke an diesem Eingang Daten aus der SQL-Datenbank auszulesen. Für weitere Informationen siehe auch Verhalten der Funktionsbausteine mit dem Eingang i_xExecute. |
i_refRequestWstring |
REFERENCE TO [RequestWstring] |
Verweis auf die Request-Daten, die einen SQL-Abfragerequest enthalten (z. B. Jeder SQL-Request muss in separate Zeichenfolgen einer Länge von jeweils maximal 200 Zeichen aufgespaltet werden. Passen Sie die Größe der globalen Parameter Gc_uiMaxRequest und Gc_uiRequestWstringLength in Übereinstimmung mit der Länge der in Ihrer Anwendung verwendeten SQL-Requests an.
HINWEIS: Verwenden Sie zur Verkettung der WSTRINGS die Funktion WCONCAT der Standard64-Bibliothek.
|
i_uiNumOfWstrings |
UINT |
Die Anzahl der erforderlichen WSTRINGS, die den aufgeteilten SQL-Request enthalten. Die maximale Anzahl wird vom globalen Parameter Gc_uiMaxRequest vorgegeben. |
i_refUserData |
REFERENCE TO [UserData] |
Verweis auf die UserData, d. h. die Benutzerdaten, die in der Steuerung zur Speicherung der aus der Datenbank ausgelesenen SQL-Daten verfügbar sein müssen. |
Eingang/Ausgang |
Datentyp |
Beschreibung |
---|---|---|
iq_stConnSettings |
ST_ConnectionSettings |
Enthält Informationen für den Aufbau einer Verbindung zu einem SQL Gateway sowie zur SQL-Datenbank. |
Ausgang |
Datentyp |
Beschreibung |
---|---|---|
q_xBusy |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, bedeutet das, dass der Funktionsbaustein ausgeführt wird. |
q_xDone |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, wurde die Ausführung erfolgreich abgeschlossen. |
q_xError |
BOOL |
Wenn dieser Ausgang auf TRUE gesetzt wird, wurde ein Fehler identifiziert. Für weitere Informationen siehe q_etResult und q_etResultMsg. |
q_etResult |
ET_Result |
Gibt Diagnose- und Statusinformationen an. |
q_sResultMsg |
STRING[255] |
Gibt zusätzliche Diagnose- und Statusinformationen an. |
q_uiRetNumOfRows |
UINT |
Anzahl der Zeilen in den Rückgabedaten. Dieser Ausgang wird mit der Anzahl der von der SQL-Datenbank empfangenen Datensätze aktualisiert. |
q_uiRetNumOfColumns |
UINT |
Anzahl der Spalten in den Rückgabedaten. Dieser Ausgang wird mit der Anzahl der von der SQL-Datenbank empfangenen Datensätze aktualisiert. |
Weitere Informationen finden Sie außerdem unter Gemeinsame Eingänge und Ausgänge.
Ein zweidimensionales ARRAY muss in der Steuerung für die Zwischenspeicherung der aus der Datenbank ausgelesenen SQL-Daten verfügbar sein. Der zweidimensionale ARRAY wird im ALIAS UserData definiert.
Die Größe des ARRAY kann über die globalen Parameter Gc_uiMaxRows, Gc_uiMaxColumns und Gc_uiTableWstringLength angepasst werden.
Bei der Konfiguration dieser Parameter ist der Umfang der SQL-Daten zu berücksichtigen, deren Empfang erwartet wird. Vor dem Start der Datenübertragung werden die SQL-Daten gemäß der Größe dieses Puffers segmentiert.
Wenn die empfangenen SQL-Daten die Größe des ARRAY überschreiten, wird der SQL-Datentransfer angehalten und der Funktionsbaustein signalisiert einen Fehler.