Vue d'ensemble

La source de données SQL est utilisée pour récupérer et définir des valeurs dans une base de données SQL. Il s'agit d'une source de données d'interrogation qui lira les valeurs en fonction d'une période de mise à jour donnée.

Connectivité

Toute base de données supportée par JDBC est accessible. Un pilote spécifique JDBC est nécessaire pour se connecter à une base de données particulière, mais de tels pilotes sont facilement disponibles pour la plupart des bases de données, notamment MySQL, MS SQL Server, IBM DB2, Oracle, Sybase, et bien d'autres. Le pilote pour MySQL est inclus avec ce produit. Consultez la documentation relative à votre base de données particulière pour savoir où obtenir le pilote JDBC approprié.

Configuration

Chaque source de données nécessite un Nom, qui peut être n'importe quelle description. Le Période de mise à jour détermine la fréquence de lecture de la base de données.

Le Nom de la classe de pilote spécifie la classe Java qui implémente l'interface de pilote JDBC dans votre JDBC conducteur. Cette valeur se trouve dans la documentation de votre conducteur. Voici une liste des noms de classes de conducteurs pour la base de données donnée, et n'est fourni qu'à titre de commodité. Il est à noter que la connectivité nécessite généralement l'installation du logiciel pilote sur le serveur Scada-LTS. Si vous rencontrez des problèmes, veuillez consulter la documentation de votre base de données.

La Chaîne de connexion dépend à la fois de la base de données que vous utilisez et des spécificités de son installation. La documentation de votre pilote JDBC vous expliquera comment calculer la valeur de votre base de données. Les champs Nom d'utilisateur et Mot de passe fournissent les informations d'identification nécessaires pour que votre base de données accepte les connexions de cette application.

Votre Sélectionner déclaration doit être une déclaration SQL valide. SQL est censé être un langage d'accès aux données standardisé, mais les différentes bases de données présentent souvent de subtiles différences d'interprétation ou fournissent des extensions de langage. Vous devez donc utiliser la documentation de votre base de données pour vous aider à construire l'instruction SQL à vos fins.

Utilisez la case à cocher Recherche par ligne pour déterminer si la recherche est basée sur une ligne ou une colonne. Comme cela affecte les attributs dans la configuration des points de données, cette sélection ne peut être modifiée que lorsqu'il n'y a pas de points définis pour la source de données. Voir ci-dessous pour plus d'informations sur les requêtes basées sur des lignes ou des colonnes.

Traitement des requêtes par ligne

Les requêtes basées sur des lignes ont des attentes spécifiques quant à la structure de l'ensemble des résultats de la requête, mais permettent de grandes quantités des données similaires à extraire plus facilement qu'avec des requêtes par colonne. L'ensemble des résultats doit avoir les caractéristiques suivantes de la structure.

Traitement des requêtes par colonnes

Les requêtes basées sur les colonnes utilisent les noms des colonnes de l'ensemble des résultats pour localiser les valeurs ponctuelles et les dépassements de temps. Il est important de reconnaître que seule la première ligne de l'ensemble de résultats est utilisée dans une requête basée sur des colonnes.

Il peut y avoir des cas où l'utilisation d'une requête basée sur les lignes est souhaitable, mais pas possible parce que les types de données sont des valeurs trop disparates. Dans de tels cas, il peut être possible de construire l'instruction SQL pour transposer une requête basée sur des lignes en une requête basée sur des colonnes. Une instruction typique pour récupérer des données sur plusieurs lignes peut ressembler à ceci :

sélectionner l'état des relais

Pour transposer un tel tableau afin de récupérer les valeurs sur une seule ligne, on pourrait procéder comme suit (en supposant 3 relais):

select
  r1.status as r1status,
  r2.status as r2status,
  r3.status as r3status
from relays r1, relays r2, relays r3
where r1.relayId = 'relay1'
  and r2.relayId = 'relay2'
  and r3.relayId = 'relay3'

Veuillez noter que les exemples ci-dessus sont simplement fournis à titre d'information et de commodité. Votre base de données spécifique peut nécessiter des solutions très différentes.

Sélectionner le test de déclaration

La section Statement test peut être utilisée pour tester à la fois vos valeurs de configuration et votre instruction SQL select. En cliquant sur le bouton Execute, une connexion sera tentée avec votre base de données, et si elle réussit, le SQL sera exécuté. Toute erreur qui se produira sera affichée. Si l'instruction SQL s'exécute avec succès, les résultats seront affichés de manière appropriée selon que l'instruction est basée sur des lignes ou des colonnes. Les requêtes basées sur des colonnes afficheront une ligne pour chaque colonne, en fournissant le nom de la colonne, le type de données de la colonne (entre parenthèses, en utilisant la définition de type JDBC) et la valeur récupérée. Les requêtes basées sur les lignes afficheront le jeu de résultats dans un tableau avec les noms des colonnes et les types de données comme en-têtes, et une ligne de données pour chaque ligne du jeu de résultats (jusqu'à un maximum de 50 lignes).