PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Importation de la structure des fichiers
  • Les étapes de l'importation
  • Prendre en compte les évolutions de la base de données SQL Server
  • Programmation
  • 1. Ouverture de la connexion
  • 2. Exécution de requêtes
  • 3. Récupération du résultat
  • 4. Fermeture de la connexion
  • Optimisation
  • SQL Azure
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaEtats et RequêtesCode Utilisateur (MCU)
WEBDEV
WindowsLinuxPHPWEBDEV - Code Navigateur
WINDEV Mobile
AndroidWidget AndroidiPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Autres
Procédures stockées
Connecteur Natif SQL Server : Programmation à l'aide des fonctions HFSQL
HFSQLHFSQL Client/ServeurNon disponible avec ce type de connexion
Présentation
Pour utiliser une base de données SQL Server avec le Connecteur Natif, il est nécessaire d'importer la structure des tables SQL Server dans l'éditeur d'analyses.
Différences par rapport à la programmation SQL : Pour manipuler les données SQL Server, 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 SQL Server dans l'éditeur d'analyses.
Remarque : A partir de la version 19, HFSQL est le nouveau nom de HyperFileSQL.
Importation de la structure des fichiers

Les étapes de l'importation

Pour réaliser cette importation :
  1. Ouvrez l'éditeur d'analyses (option "Projet .. Charger l'analyse"). Lancez l'éditeur d'analyses : cliquez sur Icône Analyse parmi les boutons d'accès rapide.
  2. Sous l'éditeur d'analyses, sélectionnez l'option "Structure de fichiers .. Importer des descriptions de fichiers / tables".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 SQL Server est automatiquement créée et associée aux fichiers importés dans l'analyse. Cette connexion devra être utilisée pour manipuler le fichier de données SQL Server par programmation.
Dans les différents écrans de l'assistant, choisissez les options suivantes :
  • Source de données : Base externe.
  • L'application utilisera les données dans le format actuel.
  • Sélectionnez le type "Accès Natif pour SQL Server", la source de données, le nom de l'utilisateur et le mot de passe. Le bouton "Propriété" permet d'accéder aux propriétés systèmes.
  • Lorsque la connexion est établie, il suffit de sélectionner les tables à importer dans l'analyse. Ces tables pourront être manipulées par programmation grâce aux fonctions HyperFileSQL du WLangage. Ces tables apparaîtront en bleu sous l'éditeur d'analyses.
Dans les différents écrans de l'assistant, choisissez les options suivantes :
  • Type de base de données : SQL Server.
  • 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 SQL Server

Il est possible de prendre en compte les évolutions des tables importées sous l'éditeur d'analyses, grâce à l'option "Structure de fichiers .. Synchroniser l'analyse avec les bases de données externes". 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 SQL Server.
Programmation

1. Ouverture de la connexion

Pour ouvrir la connexion à la base de données SQL Server, 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.
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.
  • Si vous possédez les deux versions de l'Accès Natif SQL Server, il est possible de sélectionner la version à utiliser. Par défaut, l'Accès Natif via DB-Library est utilisé s'il est installé sur le poste sinon l'Accès Natif via SQLnCli est utilisé. La variable H.ModeSQLServer permet de forcer un mode grâce aux valeurs suivantes :
    • 0 pour forcer l'Accès Natif via SQLnCli.
    • 1 pour forcer l'Accès Natif via SQLnCli s'il est installé, sinon l'Accès Natif via DB-Library sera utilisé.
    • 2 pour forcer l'utilisation de l'Accès Natif via DB-Library.
      Cette variable doit être modifiée avant l'utilisation des fonctions HDécritConnexion et/ou HOuvreConnexion.
  • Si vous possédez l'Accès Natif SQL Server via SQLnCli, il est possible d'utiliser des informations étendues spécifiques (dans la fonction HOuvreConnexion ou dans la fonction HDécritConnexion) :
    • WD Cache Size : Fixe le nombre d'enregistrements à lire en une seule fois avec un curseur serveur. Par défaut, cette valeur vaut 100.
    • WD Cursor Location : Si "WD Cursor Location = SERVER", permet de demander l'utilisation d'un curseur serveur pour tous les parcours effectués sur cette connexion. Les curseurs serveur utilisés sont du type FAST_FORWARD. Pour plus de détails, consultez la documentation de SQL Server. Ce type de curseur peut être utilisé pour :
      - Limiter les ressources réservées sur le serveur pendant les parcours.
      - Limiter le nombre de connexions ouvertes par l'accès natif pour gérer des parcours multiples en parallèle.
      Attention :
      • Les parcours effectués avec des curseurs serveur sont généralement plus lents que dans le mode par défaut.
      • Les curseurs serveur peuvent être incompatibles avec certains types de requête.
      • Les performances sont sensibles à la taille du cache.
        Remarque : Lorsqu'une connexion est en transaction, les curseurs serveur sont automatiquement utilisés.
  • Versions 16 et supérieures
    SQL Azure : Si le nom du serveur est de type : NomServeur.database.windows.net, le login doit être de la forme : login@NomServeur.
    Nouveauté 16
    SQL Azure : Si le nom du serveur est de type : NomServeur.database.windows.net, le login doit être de la forme : login@NomServeur.
    SQL Azure : Si le nom du serveur est de type : NomServeur.database.windows.net, le login doit être de la forme : login@NomServeur.

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, "BaseSQLSERVER", hRequêteSansCorrection)
HExécuteRequêteSQL(ReqClient, "BaseSQLSERVER", 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 de bloquer les enregistrements grâce aux options de blocage de ces fonctions.

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.

Optimisation

  • Les champs de type "Table fichier" basés sur des requêtes sont optimisés : il est possible de trier le contenu du champ Table en cliquant sur une de ses colonnes.
  • Pour éviter de ré-exécuter plusieurs fois la même requête lors du parcours de son résultat, il est conseillé d'utiliser la constante hSansRafraîchir (par exemple si un seul poste modifie les données).
  • Chaque parcours sur une clé nécessite la création d'un "cursor". Ce "cursor" est exécuté dans une "task" SQL SERVER. Afin de ne pas conserver des processus inutiles sur le serveur, il est conseillé d'utiliser :
    • la fonction HFerme sur les tables une fois le parcours achevé,
    • la fonction HAnnuleDéclaration dans le cas de parcours de requêtes.
Versions 16 et supérieures

SQL Azure

SQL Azure nécessite la présence d'un "clustered index" dans les fichiers de données.
Si vous créez les fichiers de données avec la fonction HCréation, l'Accès Natif crée automatiquement le "clustered index" si la description du fichier de données contient un identifiant automatique.
Nouveauté 16

SQL Azure

SQL Azure nécessite la présence d'un "clustered index" dans les fichiers de données.
Si vous créez les fichiers de données avec la fonction HCréation, l'Accès Natif crée automatiquement le "clustered index" si la description du fichier de données contient un identifiant automatique.

SQL Azure

SQL Azure nécessite la présence d'un "clustered index" dans les fichiers de données.
Si vous créez les fichiers de données avec la fonction HCréation, l'Accès Natif crée automatiquement le "clustered index" si la description du fichier de données contient un identifiant automatique.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire