FB_SqlDbRead

Überblick

Typ:

Funktionsbaustein

Verfügbar ab:

V1.0.0.0

Aufgabe

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.

Funktionsbeschreibung

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.

Schnittstelle

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. Select * from DB limit 10;).

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.

Definition eines ARRAY mit Benutzerdaten

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.