DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Syntaxe 1 : Utiliser une chaîne de caractères pour le provider OLE DB
  • Syntaxe 1 : Pseudo connexion à une base de données HFSQL Classic
  • Différences entre HOuvreConnexion et HDécritConnexion
  • Utilisation du Connecteur Natif xBase avec des alphabets non latin
  • Connecteur Natif MySQL
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
Décrit une nouvelle connexion à une base de données externe. Cette connexion est nommée. Des paramètres spécifiques peuvent être définis tels que le mode de gestions des curseurs (si la base de données accédée le permet).
Pour associer cette connexion à une table ou un fichier de données, utilisez la fonction HChangeConnexion.
Pour ouvrir la connexion, utilisez la fonction HOuvreConnexion. Si les paramètres de la connexion décrite avec HDécritConnexion ne sont pas corrects, la fonction HOuvreConnexion renverra une erreur.
Grâce à la fonction HDécritConnexion, une description de table Oracle importée dans l'analyse peut être manipulée directement avec des fichiers de données HFSQL Classic. Il suffit de décrire une connexion temporaire à une base de données HFSQL Classic puis de l'associer à la description de fichier présente dans l'analyse. Pour plus de détails, consultez les Exemples.
Cette fonction est conservée par compatibilité. Il est conseillé d'utiliser une variable de type Connexion et ses propriétés pour décrire une connexion.
HFSQL Client/ServeurConnecteurs Natifs (Accès Natifs)
HDécritConnexion("MaConnexion", "", "", ...
"Serveur_SQLServer", "dbo", hAccèsNatifSQLServer, hOLectureEcriture, "")
Syntaxe

Description d'une connexion par programmation Masquer les détails

<Résultat> = HDécritConnexion(<Connexion> , <Utilisateur> [, <Mot de passe>] , <Source de données> , <Base de données> , <Provider OLE DB ou Connecteur Natif> [, <Accès> [, <Informations étendues>]])
<Résultat> : Booléen
  • Vrai si l'opération a été réalisée,
  • Faux en cas de problème. La fonction HErreurInfo permet d'identifier l'erreur.
Pour ouvrir cette connexion, utilisez la fonction HOuvreConnexion (cette fonction renverra une erreur si les paramètres de la connexion ne sont pas corrects).
Pour affecter cette connexion à un fichier de données, utilisez la fonction HChangeConnexion.
<Connexion> : Chaîne de caractères
Nom de la nouvelle connexion à définir.
Si ce nom est déjà utilisé par une connexion existante, l'ancienne connexion est remplacée par la nouvelle connexion. L'ancienne connexion (ainsi que les fichiers de données qui l'utilisaient) sont automatiquement fermés.
<Utilisateur> : Chaîne de caractères
Nom de l'utilisateur utilisé pour la base de données. Ce paramètre peut être récupéré grâce à la propriété CxUtilisateur.
<Mot de passe> : Chaîne de caractères optionnelle
Mot de passe de la connexion (si ce mot de passe existe). Si aucun mot de passe n'est nécessaire, utilisez une chaîne vide ("") ou le mot-clé NULL.
<Source de données> : Chaîne de caractères
Chemin complet de la source de données. La connexion sera créée et ouverte pour cette source de données. Ce paramètre peut être récupéré grâce à la propriété CxBaseDeDonnées.
Connecteurs Natifs (Accès Natifs) XML : Ce paramètre correspond au nom du fichier XML.
HFSQL Client/Serveur Ce paramètre correspond au nom du serveur. Il est possible de préciser le numéro de port utilisé par le serveur HFSQL. Par défaut, le numéro de port utilisé est 4900. Si le numéro de port du serveur HFSQL est différent, utilisez la notation suivante :
<Nom du poste> : <Numéro de port>
Exemple : "NomPoste:4901".
Pour une utilisation via Internet, une gestion des ports avec Firewall est nécessaire. Pour plus de détails, consultez Gestion des ports.
Il est possible d'indiquer une adresse IPv6 en écrivant l'adresse IPv6 entre des crochets. Dans ce cas, le numéro de port doit être indiqué après le crochet fermant. Par exemple : [0154:2145:2155::5554]:4900.
AndroidWidget Android Cas d'une application Android :
  • Connexion à une base HFSQL Client/Serveur :
    • La base se trouve sur le poste de développement et est manipulée depuis un émulateur Android : utilisez l'adresse IP 10.0.2.2 avec le port du serveur. Exemple : "10.0.2.2:4900"
    • La base se trouve sur le réseau du poste de développement et est manipulée depuis un émulateur Android : utilisez le nom complet du serveur avec le domaine. Exemple : "posteServeur@domaine.com:4900" (avec le simulateur WINDEV Mobile, le nom de la machine sans le domaine peut suffire).
  • Connexion à une base SQLite :
    Chemin complet du fichier contenant la base de données SQLite sur le périphérique Android.
    Exemple : /sdcard/bdd/MaBaseDeDonnees.db
    Si le paramètre correspond à chaîne vide (""), le fichier contenant les données de la base sera créé dans le répertoire "databases" de l'application et portera le nom de l'application suivi de l'extension ".db".
<Base de données> : Chaîne de caractères
Nom de la base de données à utiliser sur la source de données, chaîne vide ("") si aucun nom ne doit être spécifié. Ce paramètre peut être utilisé si la source de données permet de spécifier la base de données à utiliser.
Par exemple, sur SQL Server, la base "Master" est la base par défaut, mais il est possible de manipuler d'autres bases, par exemple "dbo".
Pour spécifier que l'accès est sur un fichier de la base "dbo" (qui n'est pas la base par défaut), <Base de données> doit correspondre à "dbo".
Ce paramètre peut être récupéré grâce à la propriété CxInitialCatalog.
<Provider OLE DB ou Connecteur Natif> : Chaîne de caractères ou Constante
  • Nom du provider OLE DB utilisé. Pour retrouver facilement la chaîne à utiliser, utilisez l'option "Connexion" de l'éditeur d'analyses (voir Notes).

    ou
  • une des constantes suivantes :
    hAccèsHF7Pseudo-connexion à une base HFSQL Classic
    hAccèsHFClientServeurConnecteur Natif à une base HFSQL Client/Serveur.
    hAccèsNatifAS400Connecteur Natif AS/400 (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifDB2Connecteur Natif DB2 (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifInformixConnecteur Natif Informix (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifMariaDBConnecteur Natif MariaDB (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifMySQLConnecteur Natif MySQL (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifOracleConnecteur Natif Oracle (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifOracleLiteConnecteur Natif Oracle (module optionnel de WINDEV Mobile)
    hAccèsNatifPostgreSQL Connecteur Natif PostgreSQL (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifProgressConnecteur Natif Progress (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifSQLAzureConnecteur Natif SQL Azure (module optionnel de WINDEV/WEBDEV, fourni avec le Connecteur Natif SQL Server)
    hAccèsNatifSQLiteConnecteur Natif SQLite (fourni en standard avec WINDEV/WEBDEV)
    hAccèsNatifSQLServerConnecteur Natif SQL Server (module optionnel de WINDEV/WEBDEV).
    Par défaut, l'ancien Connecteur Natif est utilisé. Pour forcer l'utilisation du nouveau Connecteur Natif SQL Server, utilisez la variable H.ModeSQLServer.
    hAccèsNatifSQLServerMobileConnecteur Natif SQL Server Mobile (module optionnel de WINDEV Mobile)
    hAccèsNatifSybaseConnecteur Natif Sybase (module optionnel de WINDEV/WEBDEV)
    hAccèsNatifXBaseConnecteur Natif xBase (fourni en standard avec WINDEV/WEBDEV)
    hAccèsNatifXMLConnecteur Natif XML (fourni en standard avec WINDEV/WEBDEV)
    hODBCProvider OLE DB pour ODBC (permet d'accéder à une source de données ODBC déclarée dans les sources de données ODBC de Windows)
    hOledbAccess97Provider OLE DB pour Access 97
    hOledbAccess2000Provider OLE DB pour Access 2000
    hOledbDBase5Provider OLE DB pour DBase 5
    hOledbExcel97Provider OLE DB pour Excel 97
    hOledbExcel2000Provider OLE DB pour Excel 2000
    hOledbLotus4Provider OLE DB pour Lotus 4
    hOledbOracleProvider OLE DB pour Oracle
    hOledbSQLServerProvider OLE DB pour SQL Server

    AndroidWidget Android Les constantes disponibles sont les suivantes :
    hAccèsNatifSQLiteConnecteur Natif SQLite depuis une application Android.



<Accès> : Constante optionnelle
Paramètre le type d'accès à la base.
hOLectureLa base de données est accessible uniquement en lecture. Seule la lecture des enregistrements est possible. Il n'est pas possible d'en ajouter ou d'en supprimer.
hOLectureEcriture
(valeur par défaut)
La base de données est accessible en lecture et en écriture. Il est possible aussi bien de lire des enregistrements que d'écrire de nouveaux enregistrements.

Ce paramètre peut être récupéré grâce à la propriété CxAccès.
<Informations étendues> : Chaîne de caractères optionnelle
Informations optionnelles insérées dans la chaîne de connexion à la base de données. Si des mots-clés spécifiques sont reconnus, les informations correspondantes sont extraites de la chaîne de connexion. Le reste de la chaîne de connexion est envoyé à la base de données. Les paramètres extraits sont ensuite traité spécifiquement par le Connecteur Natif ou OLE DB utilisé.
Ces mots-clés doivent être indiqués de la manière suivante : "<Mot-clé> = <Valeur>;".
Il est par exemple possible de préciser le paramètre "Trusted_Connection=YES" pour utiliser une connexion avec authentification par le login NT.
Connecteurs Natifs (Accès Natifs) Les mots-clés reconnus par OLE DB et par les Connecteurs Natifs sont présentés dans la page Informations optionnelles de connexion.
Exemple de chaîne à utiliser :
"WD Cache Size = 10000; Server Port=3306;"
HFSQL Client/Serveur Les mots-clés reconnus pour l'accès par HFSQL Client/Serveur :
BDD_EXISTETeste l'existence de la base de données. Si la base de données spécifiée n'existe pas, la fonction HDécritConnexion retourne Faux.
COMPRESSIONActive ou non la compression des données transmises entre le Client et le Serveur. Ce mot-clé peut correspondre à :
  • VRAI pour activer la compression des données.
  • FAUX pour ne pas compresser les données.
CRYPTAGEActive le cryptage des informations transmises entre le Client et le Serveur. Ce mot-clé peut prendre plusieurs valeurs :
  • RAPIDE
  • RC5_16 pour utiliser un cryptage RC5 à 16 boucles.
  • AES128 pour utiliser un cryptage AES 128 bits avec un mode d'opération OFB.
  • AES192 pour utiliser un cryptage AES 192 bits avec un mode d'opération OFB.
  • AES256 pour utiliser un cryptage AES 256 bits avec un mode d'opération OFB.

Ce paramètre peut être récupéré grâce à la propriété CxInfosEtendues.
Remarques
HFSQL Client/ServeurConnecteurs Natifs (Accès Natifs)

Syntaxe 1 : Utiliser une chaîne de caractères pour le provider OLE DB

Pour trouver facilement la chaîne de caractères à utiliser pour définir le provider OLE DB, il est conseillé de procéder de la manière suivante :
  1. Dans l'éditeur d'analyses, affichez la fenêtre de description de connexion : sous le volet "Analyse", dans le groupe "Connexions", cliquez sur "Connexions".
  2. Sélectionnez le provider à utiliser (combo "Connexion par").
  3. La chaîne de caractères correspondant au provider s'affiche. Cette chaîne de caractères peut être utilisée pour désigner le provider OLE DB utilisé dans le paramètre <Provider OLE DB>.
Connecteurs Natifs (Accès Natifs)

Syntaxe 1 : Pseudo connexion à une base de données HFSQL Classic

Des fichiers de données OLE DB ou natifs sont décrits sous l'éditeur d'analyses. Pour manipuler par programmation ces descriptions avec une base de données HFSQL, il suffit de spécifier la constante hAccèsHF7 comme nom de provider.
Cette connexion pourra ensuite être affectée aux fichiers de données concernés par la fonction HChangeConnexion.
Les fichiers de données au format HFSQL correspondant à la description des fichiers OLE DB ou natifs seront créés si nécessaire dans le répertoire défini par le paramètre <Source des données>. Par défaut ces fichiers de données sont créés vides.

Différences entre HOuvreConnexion et HDécritConnexion

Méthode 1 : Pour ouvrir une connexion au début de l'application et la refermer à la fin, il est nécessaire d'utiliser la fonction HOuvreConnexion. Pour utiliser cette connexion lors de la manipulation des fichiers de données ou des tables, il suffira de changer cette connexion avec la fonction HChangeConnexion.
HOuvreConnexion(MaConnexion, params) // ouverture de la connexion
HChangeConnexion(UnFichier, MaConnexion)
Méthode 2 : Pour décrire par programmation une connexion et l'ouvrir automatiquement lors de l'ouverture du fichier de données, il suffit :
  • de décrire la connexion avec la fonction HDécritConnexion.
  • d'associer cette connexion à la description de fichier de données voulue avec la fonction HChangeConnexion. L'ouverture de la connexion ne sera réalisée qu'au premier accès au fichier de données.
Cette solution peut être très utile lorsqu'une application manipule à la fois des fichiers de données HFSQL et des fichiers de données Oracle. Par exemple, si l'application utilise un seul fichier Oracle, dans un traitement bien spécifique, la connexion à la base Oracle ne sera faite qu'en cas de besoin.
Si pour ce même type d'application la première solution est retenue, la connexion (qui peut être relativement longue) sera effectuée à chaque lancement de l'application.
Exemple :
HDécritConnexion(MaConnexion, params)
HChangeConnexion(UnFichier, MaConnexion)
...
HLitPremier(UnFichier) // Ouverture de la connexion
...
HFerme(UnFichier) // Fermeture de la connexion
Connecteurs Natifs (Accès Natifs)

Utilisation du Connecteur Natif xBase avec des alphabets non latin

Pour utiliser le Connecteur Natif xBase avec des alphabets non latin, il est nécessaire de demander au Connecteur Natif d'effectuer une conversion OEM/ANSI standard. Il suffit pour cela de spécifier dans les informations étendues la chaîne suivante :
OEMTOANSI=WINDOWS;
Exemple :
  1. Ajouter dans le code d'initialisation du projet, le code permettant de modifier l'alphabet :
    ChangeAlphabet(alphabetChinois)
  2. Créer une connexion xBase :
    HDécritConnexion("CnxxBase", "", "", fRepExe(), "", hAccèsNatifXBase, hOLectureEcriture, ...
    "OEMTOANSI=WINDOWS;")
    HChangeConnexion("*", "CnxxBase")
Connecteurs Natifs (Accès Natifs)

Connecteur Natif MySQL

Pour être à jour des nouveautés MySQL (par exemple, changement du mode d'identification par défaut), il est nécessaire de mettre à jour la couche cliente de MySQL (fichier LibMySQL.DLL). Pour plus de détails, consultez Connecteur Natif MySQL.
Classification Métier / UI : Code métier
Composante : wd300hf.dll
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 24/08/2023

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