Exemple d'utilisation avec Graphweather

Généralités sur les bases de données et leur utilisation. (Extrait du forum Graphweather).

Modérateurs : jturlier, Météo Villarzel

Verrouillé
Avatar du membre
jturlier
Administrateur du site
Messages : 393
Enregistré le : 10 déc. 2014, 10:20
Localisation : Sérignan 34410
Contact :

Exemple d'utilisation avec Graphweather

Message par jturlier » 23 févr. 2015, 10:27

Ce sujet est verrouillé et ne peut donc pas recevoir de nouveaux posts. Si vous souhaitez faire des commentaires ou poser des questions, vous avez naturellement la possibilité d'ouvrir de nouveaux sujets.

Ce sujet est destiné à traiter les questions et solutions concernant l'utilisation des bases de données relationnelles dans leur utilisation avec Graphweather.

Avant de commencer il faut définir un terme d'une façon trèèèèèèès synthétique :
SGDB : les SGDB (systèmes de gestion de bases de données) sont composés de deux ensembles
• Un moteur – qui est un ensemble de programmes qui permettent de lire, d'écrire des données
• un espace de stockage, la base de données qui contient des tables.
Les données y sont enregistrées dans des tables qui ne sont pas organisées d'une façon séquentielle comme les fichiers que nous connaissons habituellement : chaque donnée est repérée dans la table par un nom de champ et un index qui permettent d'y accéder. Quand on accède à une donnée, toutes celles qui concernent l'enregistrement correspondant sont aussi disponibles.

Pour interroger une base de données on envoie au moteur une requête (Query) écrite dans un langage avec une syntaxe, une orthographe et une grammaire, qui concerne une ou plusieurs tables. Le plus courant est SQL (Structured Query Language). Graphweather l'utilise en pure conformité depuis sa version 2.

La première question que l'on se pose en général est : quels sont les SGDB que l'on peut utiliser avec Graphweather ? En fait on peut dire que tous les SGDB relationnels (par opposition à orientés Objet) sont supportés par Graphweather.

Pour ne citer que quelques uns(gratuits), MySQL qui est l'un des plus populaires sur le marché, (mais pas conforme à 100% avec le langage SQL), DB2 (pas gratuit IBM), PosgreSQL, Access (pas gratuit Microsoft) , MS SQL 2005 express ( fait partie de Visual studio express ) ... et d'autres !

Un point très important, tous ces moteurs doivent avoir un pilote ODBC installé sur la machine, pour pouvoir communiquer avec Graphweather.

Nous allons maintenant nous intéresser à ce que nous devons paramétrer :
Nous avons une base de données sur notre machine, elle contient une table et que Graphweather va interroger.
Cette table a des champs, date et heure, température extérieure ... en face, nous avons Graphweather qui a des noms de sondes.

• Option
• Général
• Sources de données
• Base -Source de données

• Choisir le « Plugin MySQL.dll »
• Renseigner les paramètres de connection
• Serveur (en général « locahost » )
• Utlisateur
• Mot de passe
• Base de donnée (réceptacle de notre table)
• Date et heure des enregistrements : nous devons connaitre le type de champ que nous allons utiliser (Unix ou Date et heure formatée)
• Timestamp Unix : donner le nom du champ
• Date et heure formatée soit sous la forme d'un champ date + heure, sois sous la forme de 2 champs, un pour la date et un pour l'heure
• Correspondance sonde/champ SQL : en face du nom de chaque sonde qui nous concerne, inscrivons le nom du champ correspondant, de notre table.

Cette procédure est la plus simple, puisque c'est l'application de ce qui se fait pour tous les autres plugins de Graphweather.

Nous allons maintenant nous intéresser à l'utilisation d'un autre SGDB. Prenons par exemple PosgreSQL (mon préféré ... mais c'est un choix personnel)

Au démarrage de Graphweather, nous n'allons pas pouvoir commencer à paramétrer notre plugin « mysql.dll », nous allons uniquement indiquer que c'est « mysql.dll » (cela va nous créer graphweather\plugins\MySQL_Base.cfg) puis fermer l'application.

Nous allons maintenant devoir éditer
1. graphweather\config.cfg

[PLUGIN_BASE]
Plugin=MySQL.dll
Source00=NomDeMaTable (SQL Ne tolère pas les espaces ou caractères spéciaux)

2. graphweather\plugins\MySQL_Base.cfg
[SQL]
Server=localhost
Base=MaBaseDeDonnées
Login=GW
Driver=PostgreSQL ANSI --> ici, nous devons connaître le nom du pilote ODBC
Password=CSecret

Maintenant nous pouvons démarrer Graphweather, et terminer le paramétrage : nom du champ « date et heure », correspondance Sonde / Champ SQL.


Utilisation d'autres SGDB : c'est identique à 100% à PosgreSQL à un détail près... le pilote ODBC.

Maintenant passons aux voeux pour de futurs améliorations :
Dans un premier temps : la possibilité du choix du pilote ODBC soit en listbox soit même en textbox, et permettre la sélection d'un port autre que le standard.
Dans un second temps la possibilité d'utiliser un DNS ce qui permettrait d'utiliser des moteurs internes à Windows spécifiques à certains types de tables. (au prix d'un paramétrage par l'utilisateur des ODBC dans les outils d'administration)
Mais comme disait Monsieur Kipling... ceci est une autre histoire !
Jean

Station :
VP2pro + anémomètre ultrasons et console Vue
Cumulus 1.9.4 + Cumulus2SQL + MySQL

Audio :
FR
PC :
W10 64bits migré
http://meteoserignan.ddns.net
Image

Verrouillé