FB_SqlDbRead

Présentation

Type :

Bloc fonction

Disponible à partir de :

V1.0.0.0

Tâche

Le bloc fonction FB_SqlDbRead permet d'exécuter des requêtes SQL qui lisent des données dans la base de données SQL. Les données sont renvoyées dans un tableau à double entrée dont la taille est définie par les paramètres globaux.

Description fonctionnelle

Le bloc fonction FB_SqlDbRead est l'interface utilisateur qui permet de lire des données provenant de la base de données SQL.

Lorsqu'un front montant est détecté sur i_xExecute, une connexion à la SQL Gateway est établie à l'aide des paramètres définis dans la structure ST_ConnectionSettings. Dès la connexion établie, le bloc fonction peut envoyer une requête SQL à la base de données SQL.

Les messages d'état et les informations de diagnostic sont fournis à l'aide des sorties q_xError (TRUE si une erreur a été détectée), q_etResult et q_etResultMsg.

Interface

Entrée

Type de données

Description

i_xExecute

BOOL

Le bloc fonction exécute une requête SQL pour lire des données de la base de données SQL en cas de front montant sur cette entrée.

Pour plus d'informations, consultez également la section Comportement des blocs fonction avec l'entrée i_xExecute.

i_refRequestWstring

REFERENCE TO [RequestWstring]

Référence aux données qui contiennent la requête d'interrogation SQL (comme Select * from DB limit 10;).

Une requête SQL doit être divisée en plusieurs chaînes ne dépassant pas 200 caractères.

Adaptez la taille des paramètres globaux Gc_uiMaxRequest et Gc_uiRequestWstringLength à la longueur des requêtes SQL que vous utilisez dans votre application.

NOTE : Pour concaténer des chaînes WSTRINGS, utilisez la fonction WCONCAT de la bibliothèque Standard64.

i_uiNumOfWstrings

UINT

Nombre de chaînes WSTRINGS requises qui contiennent la requête SQL divisée.

Le nombre maximum est limité par le paramètre global Gc_uiMaxRequest.

i_refUserData

REFERENCE TO [UserData]

Référence aux UserData qui doivent être disponibles sur le contrôleur pour stocker les données SQL lues dans la base de données.

In_Out

Type de données

Description

iq_stConnSettings

ST_ConnectionSettings

Contient les informations de connexion à une SQL Gateway et les informations concernant la base de données SQL.

Sortie

Type de données

Description

q_xBusy

BOOL

Si cette sortie est TRUE, le bloc fonction est en cours d'exécution.

q_xDone

BOOL

Si cette sortie est TRUE, l'exécution s'est effectuée correctement.

q_xError

BOOL

Si cette sortie est TRUE, une erreur a été détectée. Pour plus d'informations, reportez-vous à q_etResult et q_etResultMsg.

q_etResult

ET_Result

Fournit des informations de diagnostic et d'état.

q_sResultMsg

STRING[255]

Fournit des informations supplémentaires de diagnostic et d'état.

q_uiRetNumOfRows

UINT

Nombre de lignes dans les données renvoyées.

Cette sortie est mise à jour avec le nombre d'enregistrements reçu de la base de données SQL.

q_uiRetNumOfColumns

UINT

Nombre de colonnes dans les données renvoyées.

Cette sortie est mise à jour avec le nombre d'enregistrements reçu de la base de données SQL.

Pour plus d'informations, reportez-vous également à la section Entrées et sorties communes.

Définition d'un tableau ARRAY de données utilisateur

Un tableau ARRAY à double entrée doit être disponible sur le contrôleur pour stocker temporairement les données SQL lues dans la base de données. Le tableau ARRAY à double entrée est défini dans l'ALIAS UserData.

La taille du tableau ARRAY peut être adaptée par les paramètres globaux Gc_uiMaxRows, Gc_uiMaxColumns et Gc_uiTableWstringLength.

Lorsque vous configurez ces paramètres, tenez compte du volume de données SQL que vous espérez recevoir. Avant le début du transfert, les données SQL sont segmentées en fonction de la taille de ce tampon.

Si les données SQL reçues dépassent la taille du tableau ARRAY, le transfert des données SQL s'interrompt et le bloc fonction signale une erreur détectée.