DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Connecteurs Natifs/Accès Natifs / Connecteur Natif SQL Server
  • 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/iPadWidget IOSApple WatchMac CatalystUniversal Windows 10 App
Autres
Procédures stockées
Connecteur Natif SQL Server : Programmation à l'aide des fonctions HFSQL
HFSQL ClassicHFSQL Client/ServeurNon disponible avec ces types 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.
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 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 :
  • 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

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.
  • Les informations optionnelles de connexion permettent de configurer le comportement du Connecteur Natif (format des dates, résultat des concaténations, ...).
  • Par défaut, la version installée du Connecteur Natif SQL Server est utilisée. Si vous avez installé à la fois le Connecteur Natif SQL Server via OLE DB et via ODBC, le Connecteur Natif via OLE DB est utilisé. Il est possible de sélectionner la version à utiliser. La variable H.ModeSQLServer permet de forcer un mode grâce aux valeurs suivantes :
    • 0 pour forcer le Connecteur Natif SQL Server via OLE DB.
    • 3 pour forcer le Connecteur Natif SQL Server via ODBC.
    Cette variable doit être modifiée avant l'utilisation des fonctions HDécritConnexion et/ou HOuvreConnexion.
  • 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.
  • 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.

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, le Connecteur 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

Dernière modification : 12/10/2022

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