DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Gestion de HFSQL Client/Serveur
  • Présentation
  • Définition des connexions depuis l'éditeur d'analyses
  • Crypter une connexion
  • Définition des connexions par programmation
  • Définir une connexion à l'aide des fonctions HDécritConnexion ou HOuvreConnexion
  • Définir une connexion à l'aide du type Connexion
  • Permettre à une application WINDEV d'utiliser au choix une base HFSQL Client/Serveur ou HFSQL Classic
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 que l'application puisse manipuler les fichiers de données présents sur le serveur HFSQL, il est nécessaire de définir dans le projet la connexion qui sera utilisée par l'application. Cette connexion peut être définie :
  • soit depuis l'éditeur d'analyses.
  • soit par programmation.
Il est également possible de permettre à une application d'utiliser au choix une base de données HFSQL Client/Serveur ou une base de données HFSQL Classic.
Les fichiers de données accédés par un serveur HFSQL ne sont accessibles que via ce serveur. Ils ne peuvent pas êtres accédés directement par un autre application notamment à l'aide du moteur HFSQL Classic. Il est nécessaire de se connecter au serveur pour accéder à ces fichiers de données.
Remarque : Il est possible de définir plusieurs connexions dans le cas où l'application utilise plusieurs bases de données ou plusieurs serveurs.
Définition des connexions depuis l'éditeur d'analyses
Pour définir une connexion depuis l'éditeur d'analyses :
  1. Sous le volet "Analyse", dans le groupe "Connexion", cliquez sur "Nouvelle connexion". L'assistant de définition d'une nouvelle connexion se lance.
  2. Conservez l'option "HFSQL Client/Serveur" et passez à l'étape suivante de l'assistant.
  3. Dans les différentes étapes de l'assistant, saisissez les informations demandées :
    • nom du serveur,
    • numéro du port réseau,
    • nom et mot de passe de l'utilisateur,
    • base de données,
    • nom et libellé de la connexion.
  4. Terminez l'assistant.
    Une boîte de dialogue s'affiche et propose d'associer des fichiers de données à cette nouvelle connexion. Acceptez.
  5. Sélectionnez les fichiers de données à associer et validez. Il est possible de copier directement les fichiers de données existants sur le serveur HFSQL. Cette opération peut être réalisée si nécessaire ultérieurement.
  6. Affichez la liste des connexions : sous le volet "Analyse", dans le groupe "Connexion" cliquez sur "Connexions".
    • Testez si nécessaire cette nouvelle connexion : cliquez sur le bouton "Tester".
    • Les différents onglets permettent de visualiser et de modifier les caractéristiques des connexions :
      • Onglet "Propriétés" : caractéristiques de la connexion définies dans l'assistant (nom, libellé, type, ...)
      • Onglet "Avancé" : Numéro de port de la connexion, options de compression et de cryptage des données de la connexion.
        Si les fichiers de données utilisant la connexion sont cryptés, il est conseillé de crypter également la connexion.
      • Onglet "Utilisée par" : Liste des fichiers de données utilisant la connexion.
  7. Fermez la fenêtre des connexions définies.
En exécution, la connexion associée au fichier de données manipulé sera automatiquement ouverte lors du premier accès à ce fichier de données.
Les fichiers de données associés à une connexion de type "HFSQL Client/Serveur" se transforment automatiquement en fichiers de données de type "HFSQL Client/Serveur".
Pour les reconnaître, une indication "HFSQL/CS" apparaît au bas de la description graphique de ces fichiers. De plus, la couleur associée à cette zone devient orangée :

Crypter une connexion

Pour crypter une connexion :
  1. Affichez la description de la connexion : sous le volet "Analyse", dans le groupe "Connexion" cliquez sur "Connexions".
  2. Sélectionnez la connexion à crypter.
  3. Affichez l'onglet "Avancé".
  4. Sélectionnez le mode de cryptage : Rapide ou RC5 (16 boucles).
  5. Validez.
Remarque : Si les fichiers de données utilisant la connexion sont cryptés, il est conseillé de crypter également la connexion.
Définition des connexions par programmation
Pour définir une connexion par programmation, plusieurs méthodes peuvent être utilisées :

Définir une connexion à l'aide des fonctions HDécritConnexion ou HOuvreConnexion

Pour définir une connexion à l'aide des fonctions HDécritConnexion ou HOuvreConnexion :
  1. Définissez la connexion grâce à la fonction HDécritConnexion ou HOuvreConnexion.
    Le paramètre <Source des données> doit correspondre au nom ou à l'adresse IP du serveur à utiliser. Si le port réseau à utiliser est différent du port par défaut (port 4900), le paramètre <Source des données> doit être de la forme :
    "<NomOuAdresseIPServeur>:<NuméroPort>".
    Le paramètre <Provider OLEDB ou Connecteur Natif> doit correspondre à la constante hAccèsHFClientServeur.
    Par exemple :
    HDécritConnexion("MaConnexion", "Julie", "MotDePasse", "MonServeurHF", ...
    "MaBaseDeDonnées", hAccèsHFClientServeur, hOLecture)

    ou
    HOuvreConnexion("ConnexionServeur", "Stephane", "", "ServeurDonnées:5400", ...
    "MesDonnées", hAccèsHFClientServeur)
  2. Ouvrez la connexion grâce à la fonction HOuvreConnexion.
    Cette étape n'est pas nécessaire si la connexion a été définie et ouverte à l'étape précédente grâce à la fonction HOuvreConnexion.
  3. Associez la connexion aux différents fichiers de données grâce à la fonction HChangeConnexion.
    Par exemple :
    HChangeConnexion(Client, "MaConnexion")

    ou, pour associer tous les fichiers de l'analyse à la connexion :
    HChangeConnexion("*", "ConnexionServeur")
Remarque : Pour crypter la connexion, il suffit de spécifier des informations étendues spécifiques ("CRYPTAGE = RAPIDE" ou "CRYPTAGE = RC5_16". Pour plus de détails, consultez la documentation des fonctions HDécritConnexion ou HOuvreConnexion.

Définir une connexion à l'aide du type Connexion

Pour définir une connexion à l'aide du type Connexion :
  1. Définissez la connexion grâce au type Connexion et à ses propriétés.
    Par exemple :
    MaConnexion est une Connexion
    // Description de la connexion
    MaConnexion.Utilisateur = "USER"
    MaConnexion.MotDePasse = "PASSWORD"
    MaConnexion.Serveur = "MONSERVEUR" 
    MaConnexion.BaseDeDonnées = "Base de données"
    MaConnexion.Provider = hAccèsHFClientServeur
    MaConnexion.Accès = hOLectureEcriture
    MaConnexion.InfosEtendues = "Infos étendues"
    MaConnexion.OptionsCurseur = hCurseurClient
  2. Ouvrez la connexion grâce à la fonction HOuvreConnexion.
    Par exemple :
    MaConnexion est une Connexion
    // Description de la connexion
    MaConnexion.Utilisateur = "USER"
    MaConnexion.MotDePasse = "PASSWORD"
    MaConnexion.Serveur = "MONSERVEUR" 
    MaConnexion.BaseDeDonnées = "Base de données"
    MaConnexion.Provider = hAccèsHFClientServeur
    MaConnexion.Accès = hOLectureEcriture
    MaConnexion.InfosEtendues = "Infos étendues"
    MaConnexion.OptionsCurseur = hCurseurClient
Remarque : Pour crypter la connexion, il suffit d'utiliser la propriété Cryptage sur la connexion.
Par exemple :
MaConnexion est une Connexion
// Description de la connexion
MaConnexion.Utilisateur = "USER"
MaConnexion.MotDePasse = "PASSWORD"
MaConnexion.Serveur = "MONSERVEUR" 
MaConnexion.BaseDeDonnées = "Base de données"
MaConnexion.Cryptage = hCryptageRC5_16
MaConnexion.Provider = hAccèsHFClientServeur
MaConnexion.Accès = hOLectureEcriture
MaConnexion.InfosEtendues = "Infos étendues"
HOuvreConnexion(MaConnexion)
Permettre à une application WINDEV d'utiliser au choix une base HFSQL Client/Serveur ou HFSQL Classic
Le WLangage dispose de deux fonctions très simples permettant d'utiliser une base quelconque choisie lors de l'exécution. Et cela, indépendamment du type des fichiers de données spécifié dans l'analyse.
C'est par exemple très utile pour une application installée sur un portable :
  • connectée au réseau, l'application utilise la base HFSQL Client/Serveur,
  • déconnectée, l'application utilise une copie en local de la base.
Voici le code à utiliser, par exemple au début du projet, avant toute utilisation des fichiers de données :
AdresseServeur est une chaîne = "198.168.1.120"

SI Ping(AdresseServeur) ALORS
// Le serveur est accessible, connexion HF C/S
HOuvreConnexion("ConnexionHFCS", "admin", "", AdresseServeur, "CRM", hAccèsHFClientServeur)
     HChangeConnexion("*", "ConnexionHFCS")
     Info("Mode connecté à la base réseau.")
SINON
    // Le serveur ne répond pas, utilisation de la base HF locale
    HOuvreConnexion("ConnexionHFLocale", "", "", "C:\Répertoire Données\", "", hAccèsHF7)
    HChangeConnexion("*", "ConnexionHFLocale")
    Info("Mode déconnecté, vous utilisez vos données en local.")
FIN
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
BDD Réseau et BDD Local : comment effectuer la synchronisation
Très intéressant la possibilité d'utiliser deux BDD : une en réseau et l'autre en local, pouvez-vous nous en dire plus sur la synchronisation des données?
Merci d'avance.
levolutionniste
13 juil. 2017

Dernière modification : 18/09/2023

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