DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Connecteurs Natifs/Accès Natifs / Connecteur Natif PostgreSQL
  • Présentation
  • Importation de la structure des fichiers
  • Les étapes de l'importation
  • Prendre en compte les évolutions de la base de données PostgreSQL
  • Programmation
  • 1. Ouverture de la connexion
  • 2. Exécution de requêtes
  • 3. Récupération du résultat
  • 4. Fermeture de la connexion
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Présentation
Pour utiliser une base de données PostgreSQL avec le Connecteur Natif (également appelé Accès Natif), il est nécessaire d'importer la structure des tables PostgreSQL dans l'analyse WINDEV ou WEBDEV.
Différences par rapport à la programmation SQL :
Pour manipuler les données PostgreSQL, les requêtes ne sont pas obligatoires. En effet, vous pouvez directement utiliser les fonctions HFSQL pour lire vos données, effectuer des recherches, des filtres, ...
Cependant, il est nécessaire d'importer la structure des fichiers PostgreSQL dans l'analyse WINDEV ou WEBDEV.
Remarque : Les requêtes exécutées avec HExécuteRequête et HExécuteRequêteSQL sont automatiquement "corrigées" pour être compatibles avec PostgreSQL.
Importation de la structure des fichiers

Les étapes de l'importation

Pour réaliser cette importation :
  1. Lancez l'éditeur d'analyses : cliquez sur Charger l'analyse du projet parmi les boutons d'accès rapide.
  2. Sous le volet "Analyse", dans le groupe "Création", déroulez "Importer" et sélectionnez "Importer des descriptions de fichiers / tables".
  3. L'assistant se lance. Une connexion à la base de données PostgreSQL est automatiquement créée et associée aux fichiers de données importés dans l'analyse. Cette connexion devra être utilisée pour manipuler le fichier de données PostgreSQL par programmation.
    Dans les différents écrans de l'assistant, choisissez les options suivantes :
    • Type de base de données : PostgreSQL.
    • Caractéristiques de la connexion : Serveur de données, Utilisateur et mot de passe, base de données.
    • L'application accédera aux données dans le format actuel.
    • Lorsque la connexion est établie, il suffit de sélectionner les tables à importer dans l'analyse WINDEV ou WEBDEV. Ces tables pourront être manipulées par programmation grâce aux fonctions HFSQL du WLangage. Ces tables apparaîtront en bleu sous l'éditeur d'analyses.

Prendre en compte les évolutions de la base de données PostgreSQL

Pour prendre en compte les évolutions des tables importées sous l'éditeur d'analyses, sous le volet "Analyse", dans le groupe "Analyse", déroulez "Synchronisation" et sélectionnez "Mettre à jour l'analyse depuis les bases de données externes".
Un assistant se lance et permet au choix :
  • soit d'analyser les différences pour les tables importées,
  • soit d'analyser les différences pour toutes les tables PostgreSQL.
Programmation

1. Ouverture de la connexion

Pour ouvrir la connexion à la base de données PostgreSQL, utilisez la fonction HOuvreConnexion en précisant le nom de la connexion à ouvrir. Ce nom de connexion a été défini lors de l'importation de la structure des fichiers dans l'analyse.
Attention : Si vous utilisez une autre syntaxe, le nom de la database à utiliser doit être spécifié.
Pour modifier certains paramètres de cette connexion (par exemple le nom d'utilisateur ou le mot de passe), utilisez la fonction HConnecte.
Remarques :
  • Si vous tentez de lire directement le fichier (fonction HLitPremier, ...), la connexion associée à la description du fichier dans l'analyse sera automatiquement ouverte.
  • Il est possible de fixer le paramètre "Server Port" pour la connexion au serveur PostgreSQL. Il suffit d'ajouter la chaîne correspondante dans les informations étendues de la connexion (fonctions HDécritConnexion ou HOuvreConnexion).
    • Exemple 1 : "Server Port=3306;" pour se connecter sur le port 3306 du serveur PostgreSQL.
    • Exemple 2 : "Server Port=3306; Client Flag=0;"
    • ...
      Pour plus de détails sur ces paramètres, consultez la documentation de PostgreSQL.
  • Il est possible de paramétrer lors de la connexion la gestion ou non des rubriques Unicode.
    Pour utiliser des chaînes Unicode, il est nécessaire de spécifier le charset "UTF8" lors de la création de la base de données PostgreSQL. Attention : dans ce cas, toutes les chaînes seront des chaînes Unicode.
    Pour gérer les rubriques Unicode, il suffit d'ajouter dans les informations étendues de la connexion (fonctions HDécritConnexion ou HOuvreConnexion) l'option "WD Unicode Support".
    Si "WD Unicode Support = 0", la gestion de Unicode est désactivée sur la connexion. Le serveur convertira lui-même si nécessaire toutes les valeurs dans l'alphabet utilisé par défaut. Dans ce cas, les performances sont meilleures, mais la gestion des rubriques Unicode n'est pas disponible.
    Si "WD Unicode Support = 1" (valeur pas défaut), la gestion de Unicode est activée sur la connexion. Tous les échanges avec le serveur sont réalisés en Unicode. Le Connecteur Natif gère les conversions éventuellement nécessaires en utilisant l'alphabet défini avec la fonction ChangeAlphabet.
    Attention : La fonction ChangeAlphabet doit être utilisée AVANT d'ouvrir la connexion. Il est nécessaire de fermer et de ré-ouvrir la connexion après chaque appel de la fonction ChangeAlphabet pour que les données soient correctement converties dans l'alphabet spécifié.

2. Exécution de requêtes

Les fonctions HExécuteRequête et HExécuteRequêteSQL permettent d'exécuter des requêtes sur la base de données en cours.
  • HExécuteRequête : permet d'exécuter une requête prédéfinie avec l'éditeur de requêtes.
  • HExécuteRequêteSQL : permet d'exécuter une requête en précisant directement le code SQL de la requête, et le nom qui sera attribué à ce code SQL.
// Initialisation de la requête "CLIENT_84"
HExécuteRequête(CLIENT_84, "BasePostgreSQL", hRequêteSansCorrection)
HExécuteRequêteSQL(ReqClient, "BasePostgreSQL", hRequêteSansCorrection, ...
"SELECT NOM FROM CLIENT")

3. Récupération du résultat

Le parcours du résultat est réalisé avec toutes les fonctions de lecture classiques : HLitPremier, HLitSuivant, HLitRecherche, ...
Il n'est pas possible dans cette version de bloquer les enregistrements grâce aux options de blocage de ces fonctions. Seuls les blocages réalisés avec la fonction SQLBloque sont gérés.

4. Fermeture de la connexion

La fonction HFermeConnexion permet de fermer la connexion à la base de données lorsque toutes les requêtes nécessaires ont été réalisées.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 25/05/2022

Signaler une erreur ou faire une suggestion | Aide en ligne locale