DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / WLangage / Gestion des bases de données / HFSQL / Fonctions HFSQL
  • Caractéristiques du fichier de données créé
  • Les différents fichiers créés
  • Gestion du mot de passe
  • Gestion des erreurs fatales lors de la création d'un fichier de données
  • Gestion des alphabets non latins
  • Réplication : Plage d'identifiants
  • Priorité pour la définition de l'emplacement des fichiers du journal
  • Création d'une table existante
  • Contraintes d'intégrités référentielles
  • OLE DB Oracle : Création d'une table contenant un mémo binaire
  • OLE DB : Création d'une table contenant des identifiants automatiques
  • Gestion des index
  • Création du fichier de données à partir de sa description dans l'éditeur d'analyses
  • Rubriques DATE et HEURE avec le Connecteur Natif SQL Server
  • Fonction <Source>.Création et Connecteur Natif SQLite
WINDEV
WindowsLinuxJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadWidget IOSApple WatchMac Catalyst
Autres
Procédures stockées
Crée à vide un fichier de données (fichier d'extension ".FIC") avec le fichier d'index, le fichier d'index full-text, le fichier d'index spatial et le fichier mémo si nécessaire.
Cette fonction permet également de supprimer tous les enregistrements d'un fichier de données. Dans ce cas, l'enregistrement en mémoire n'est pas annulé. Pour l'initialiser, utilisez la fonction <Source>.RAZ.
Remarque : Il est possible d'activer la création automatique des fichiers de données inexistants lors de la description du projet (onglet "Fichiers de données" de la description du projet, option "Créer les fichiers de données automatiquement au moment de leur ouverture"). La fonction <Source>.Création est automatiquement utilisée si le fichier de données n'existe pas lors de sa première manipulation.
WINDEVWEBDEV - Code ServeurHFSQL Classic Si le fichier de données est journalé, il est possible de préciser l'emplacement des fichiers journaux.
HFSQL Client/Serveur Si des contraintes d'intégrité ont été définies et si elles sont gérées, les liaisons sont mises à jour sur le serveur.
Exemple
// Création du fichier de données Commande (décrit dans l'analyse)
Commande.Création()
Syntaxe
<Résultat> = <Source>.Création([<Mot de passe> [, <Chemin du fichier JNL> [, <Chemin du fichier JournalOperation> [, <Option>]]]])
<Résultat> : Booléen
  • Vrai si le fichier de données a été créé,
  • Faux en cas de problème. La fonction HErreur permet d'identifier l'erreur. En cas d'erreur fatale, un traitement spécifique est nécessaire pour continuer le programme et vérifier si le fichier de données a été créé (voir Notes).
<Source> : Type correspondant à la source spécifiée
Nom du fichier de données à créer.
Connecteurs Natifs (Accès Natifs) MySQL : le nom de la table ne doit pas contenir d'accent (Exemple : "FichierAccentué"). Ceci est un problème interne à MySQL (testé sur les versions 3.23.52-max-nt et 3.23.47-max-nt du serveur MySQL).
<Mot de passe> : Chaîne de caractères optionnelle ou Chaîne secrète
  • Mot de passe associé au fichier de données.
    HFSQL ClassicHFSQL Client/Serveur Le mot de passe des fichiers de données HFSQL est insensible à la casse.
  • Chaîne vide ("") si aucun mot de passe n'est utilisé.
    Nouveauté 2025
    Utilisation de chaînes secrètes : Si vous utilisez le coffre-fort de chaînes secrètes, le type de la chaîne secrète utilisable pour ce paramètre doit être "Chaîne Ansi ou Unicode".
    Pour plus de détails sur les chaînes secrètes et l'utilisation du coffre-fort, consultez Coffre-fort de chaînes secrètes.
<Chemin du fichier JNL> : Chaîne de caractères optionnelle
Chemin d'accès au fichier JNL associé au fichier de données journalé. Ce paramètre est pris en compte uniquement si le fichier de données est journalé. Dans ce cas, le fichier <Nom du fichier>JNL.fic sera créé à l'emplacement spécifié.
HFSQL Client/Serveur Ce paramètre ne doit pas être précisé. En effet, en HFSQL Client/Serveur, le chemin du fichier JNL est fixé et ne peut pas être modifié.
AndroidWidget AndroidiPhone/iPadPHP Ce paramètre est ignoré.
Java Accès par JDBC : Ce paramètre est ignoré.
<Chemin du fichier JournalOperation> : Chaîne de caractères optionnelle
Chemin d'accès du fichier JournalOperation et du fichier JournalIdentification associé au fichier de données journalé. Le fichier JournalOperation contient toutes les opérations effectuées sur le fichier de données journalé. Ce paramètre est pris en compte uniquement si le fichier de données est journalé.
HFSQL Client/Serveur Ce paramètre ne doit pas être précisé. En effet, en HFSQL Client/Serveur, le chemin du fichier des opérations est fixé et ne peut pas être modifié.
AndroidWidget AndroidiPhone/iPadPHP Ce paramètre est ignoré.
Java Accès par JDBC : Ce paramètre est ignoré.
<Option> : Constante optionnelle de type Entier
Options de création du fichier de données :
hChangeAlphabetL'alphabet défini avec la fonction ChangeAlphabet sera pris en compte dans le nouveau fichier de données. Les tris, recherches, ... sur des clés de type chaîne (chaînes, caractères, date et heure) seront effectués selon cet alphabet.
hSansLiaisonGestion de l'intégrité : Les liaisons ne sont pas mises à jour sur le serveur (création, modification, suppression selon le cas).
Rappel : par défaut, lors de la création d'un fichier de données, les liaisons sont mises à jour sur le serveur.
HFSQL Client/Serveur Cette constante est disponible uniquement en mode HFSQL Client/Serveur.

PHP Ce paramètre est ignoré.
Java Accès par JDBC : Ce paramètre est ignoré.
AndroidWidget Android Ce paramètre est ignoré.
Remarques
WINDEVWEBDEV - Code ServeuriPhone/iPadJavaAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Caractéristiques du fichier de données créé

Les caractéristiques du fichier de données créé sont les suivantes :
  • Nom du fichier de données :
    Nom physique défini lors de la description du fichier de données sous l'éditeur d'analyses. Ce nom peut être modifié avant la création du fichier de données grâce à la fonction <Source>.ChangeNom.
  • Répertoire du fichier de données :
    Répertoire défini lors de la description du fichier de données sous l'éditeur d'analyses. Ce répertoire peut être modifié avant la création du fichier de données par les fonctions <Source>.ChangeRep et HSubstRep.
  • Contenu du fichier de données :
    Le fichier de données créé est vide ce qui ne signifie pas que sa taille est nulle (le fichier de données contient un entête décrivant sa structure).
  • L'ordre des rubriques créées dans le fichier physique est l'ordre physique des rubriques créées dans l'analyse et non l'ordre logique.
Si le fichier de données existait déjà : Si le fichier de données existait déjà (même nom, même répertoire), ce fichier de données est recréé : le fichier de données ne contient plus aucun enregistrement. Les fichiers d'index et mémo (s'ils existent) sont aussi recréés. Dans ce cas, les contraintes d'intégrité ne sont pas testées.
Attention : La re-création du fichier de données n'est possible que si le fichier de données n'est pas utilisé par une autre application. Si un fichier de données en cours d'utilisation doit être vidé, utilisez la fonction <Source>.Supprime lors d'un parcours. Il est également possible d'utiliser la fonction <Source>.SupprimeTout pour supprimer tous les enregistrements d'un fichier de données.
WINDEVWEBDEV - Code ServeuriPhone/iPadAjaxHFSQL ClassicHFSQL Client/ServeurProcédures stockéesHyper File 5.5

Les différents fichiers créés

Lors de la création d'un fichier de données, les fichiers suivants peuvent être créés en plus du fichier de données :
  • Un fichier d'index (d'extension ".NDX") si une ou plusieurs clés ont été définies dans la description du fichier de données.
  • Un fichier d'index full-text (d'extension ".FTX") si une ou plusieurs clés "Index full-text" ont été définies dans la description du fichier de données.
  • Un fichier d'index spatiaux (d'extension ".SDX") si une ou plusieurs clés de type "Clé spatiale" ont été définies dans la description du fichier de données.
  • Un fichier mémo (d'extension ".MMO") si une ou plusieurs rubriques de type mémo ont été définies dans la description du fichier de données.
  • Un fichier journal (d'extension ".JNL). Ce fichier est créé uniquement si l'option correspondante a été sélectionnée lors de la description du fichier de données.
    AndroidWidget AndroidiPhone/iPadPHP Ce fichier n'est pas créé.
  • Un fichier <NomProjet>.REP. Ce fichier contient la liste des fichiers de données manipulés par l'application. Ce fichier est créé (ou complété) si la gestion du .REP est active (fonction HGèreREP). Pour plus de détails sur le fichier .REP, consultez Fichier .REP.
    iPhone/iPad Ce fichier n'est pas créé.

Gestion du mot de passe

  • Le mot de passe peut être défini :
    • directement à la création du fichier de données avec la fonction <Source>.Création.
    • avant la création du fichier de données grâce à la fonction <Source>.MotDePasse.
  • Si le fichier de données existait et était protégé par mot de passe, le fichier de données est recréé, même si le mot de passe change ou n'existe plus.
Attention : Le mot de passe est indépendant du chiffrement des données. Le chiffrement des données doit être configuré lors de la description du fichier de données dans l'éditeur d'analyses (onglet "Détail").
PHPConnecteurs Natifs (Accès Natifs) Le mot de passe n'est pas associé à un fichier de données mais à une base de données. Ce mot de passe doit être indiqué lors de la connexion (fonction HConnecte).

Gestion des erreurs fatales lors de la création d'un fichier de données

En cas d'erreur fatale lors de la création d'un fichier de données, il peut être intéressant de continuer le programme tout en vérifiant si le fichier de données a tout de même été créé. Pour cela, il est conseillé de faire le traitement d'exception suivant :
QUAND EXCEPTION DANS
	Père.Création()
FAIRE
	Erreur("Erreur HFSQL : " + HErreur())
SINON
	Trace("fichier créé")
FIN
WINDEVWEBDEV - Code ServeuriPhone/iPadAjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5OLE DBConnecteurs Natifs (Accès Natifs)

Gestion des alphabets non latins

Si la constante hChangeAlphabet est précisée, l'alphabet utilisé dans le fichier de données sera celui précisé par la fonction ChangeAlphabet. Les tris, recherches, ... sur des clés de type chaîne (chaînes, caractères, date et heure) seront effectués selon cet alphabet.
L'alphabet utilisé pourra ensuite être modifié avec la fonction <Source>.Réindexe.
Remarque : La taille des rubriques de type chaîne spécifiée dans l'analyse est une taille en octets et non en caractères. Selon l'alphabet utilisé, il peut être nécessaire d'augmenter la taille de la rubrique (par exemple si les caractères utilisés sont codés sur 2 octets).
Pour plus de détails sur la gestion des alphabets non latins dans les fichiers de données, consultez Gérer des alphabets spécifiques dans des fichiers de données.
WINDEVWEBDEV - Code ServeurAjaxHFSQL ClassicHFSQL Client/ServeurHyper File 5.5

Réplication : Plage d'identifiants

Les identifiants automatiques des fichiers des réplicas abonnés utilisent une plage d'identifiants différente de celle du fichier du réplica maître et des autres fichiers de réplicas abonnés.
Cette plage d'identifiants automatiques est inscrite dans l'entête de chaque fichier de données (extension ".FIC").
Cette plage est initialisée :
Pour plus de détails, consultez les conséquences de la mise en place de la réplication.
WINDEVWEBDEV - Code ServeurAjaxHFSQL ClassicHyper File 5.5

Priorité pour la définition de l'emplacement des fichiers du journal

La définition de l'emplacement des fichiers journal se fait selon l'ordre de priorité suivant :
  1. Emplacement spécifié lors de la création du fichier de données journalé (fonction <Source>.Création).
  2. Emplacement spécifié par la fonction <Source>.ChangeRepJnl.
  3. Emplacement spécifié dans l'analyse.
  4. Emplacement du fichier de données journalé.
Si une autre application utilise la fonction <Source>.DéclareExterne sur un fichier de données journalé, les modifications effectuées par cette application sont enregistrées dans les fichiers journaux spécifiés dans l'entête du fichier de données HFSQL journalé.
HFSQL Client/Serveur L'emplacement des fichiers du Journal est fixe et ne peut pas être modifié. Pour plus de détails, consultez Fichiers du journal en mode Client/Serveur.
OLE DB

Création d'une table existante

Si la table existait, la fonction <Source>.Création tente d'effacer puis de recréer la table.
Par exemple : Utilisation d'une base de données Oracle
  • avec le provider OLE DB "MSDAORA" : la création d'une nouvelle table est impossible. Si la table existe déjà; les enregistrements sont effacés.
  • avec le provider OLE DB "oraOLEDB.Oracle" : la création d'une nouvelle table est possible ainsi que la re-création d'une table existante. Il est cependant impossible de créer des index ou des rubriques mémo.
Lors d'une création de table, WINDEV et WEBDEV tentent de créer les rubriques dans le type OLE DB correspondant au type HFSQL. Si ce type n'est pas supporté, WINDEV et WEBDEV essayent successivement tous les types OLE DB "compatibles" jusqu'à trouver un type supporté par la base OLE DB.
OLE DB

Contraintes d'intégrités référentielles

Lors de la création d'une table, les contraintes d'intégrités référentielles décrites dans l'analyse ne sont pas créées sur la base.
OLE DB

OLE DB Oracle : Création d'une table contenant un mémo binaire

Attention : la création d'une table Oracle contenant des mémos binaires échoue sous Oracle 7.x (car les LOB ne sont pas gérés dans cette version d'Oracle).
OLE DB

OLE DB : Création d'une table contenant des identifiants automatiques

Les identifiants automatiques ne seront créés dans la table que si le provider OLE DB supporte les identifiants automatiques.
Connecteurs Natifs (Accès Natifs)

Gestion des index

Si l'ajout d'un index échoue, aucun message d'erreur n'est renvoyé par la fonction <Source>.Création. La table est simplement créée sans l'index posant problème. Dans ce cas, il est possible de trouver des doublons dans une rubrique considérée comme clé unique par WINDEV et WEBDEV si la base de données externe ne peut pas gérer de clé unique.

Création du fichier de données à partir de sa description dans l'éditeur d'analyses

Il est possible de créer directement le fichier de données à vide à partir de sa description dans l'éditeur d'analyses. Il suffit de sélectionner l'option "Créer le fichier des données" et de sélectionner le répertoire dans lequel le fichier de données doit être créé.
Connecteurs Natifs (Accès Natifs)

Rubriques DATE et HEURE avec le Connecteur Natif SQL Server

Lors de l'utilisation de la fonction <Source>.Création, le Connecteur Natif SQLServer crée des rubriques DATE et TIME si la version du serveur et la version de la couche client correspondent au moins à SQL Server 2008.
Connecteurs Natifs (Accès Natifs)

Fonction <Source>.Création et Connecteur Natif SQLite

La fonction <Source>.Création peut échouer (erreur "database table is locked") si les conditions suivantes sont réunies :
  • le fichier à créer existe déjà.
  • un parcours est en cours sur un autre fichier de la même base de données.
Ceci est dû à une limitation de la base de données SQLite.
Composante : wd300hf.dll
Version minimum requise
  • Version 25
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 02/12/2024

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