|
|
|
|
|
- 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
- Fichier UDL
- Connecteur Natif MySQL
HDécritConnexion (Fonction) En anglais : HDescribeConnection
Non disponible avec ce type de connexion
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. 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>]] , <Options supplémentaires>)
<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.
<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". <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èsHF7 | Pseudo-connexion à une base HFSQL Classic | hAccèsHFClientServeur | Connecteur Natif à une base HFSQL Client/Serveur. | hAccèsNatifAS400 | Connecteur Natif AS/400 (module optionnel de WINDEV/WEBDEV) | hAccèsNatifDB2 | Connecteur Natif DB2 (module optionnel de WINDEV/WEBDEV) | hAccèsNatifInformix | Connecteur Natif Informix (module optionnel de WINDEV/WEBDEV) | hAccèsNatifMariaDB | Connecteur Natif MariaDB (module optionnel de WINDEV/WEBDEV) | hAccèsNatifMySQL | Connecteur Natif MySQL (module optionnel de WINDEV/WEBDEV) | hAccèsNatifOracle | Connecteur Natif Oracle (module optionnel de WINDEV/WEBDEV) | hAccèsNatifOracleLite | Connecteur Natif Oracle (module optionnel de WINDEV Mobile) | hAccèsNatifPostgreSQL | Connecteur Natif PostgreSQL (module optionnel de WINDEV/WEBDEV) | hAccèsNatifProgress | Connecteur Natif Progress (module optionnel de WINDEV/WEBDEV) | hAccèsNatifSQLAzure | Connecteur Natif SQL Azure (module optionnel de WINDEV/WEBDEV, fourni avec le Connecteur Natif SQL Server) | hAccèsNatifSQLite | Connecteur Natif SQLite (fourni en standard avec WINDEV/WEBDEV) | hAccèsNatifSQLServer | Connecteur 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èsNatifSQLServerMobile | Connecteur Natif SQL Server Mobile (module optionnel de WINDEV Mobile) | hAccèsNatifSybase | Connecteur Natif Sybase (module optionnel de WINDEV/WEBDEV) | hAccèsNatifXBase | Connecteur Natif xBase (fourni en standard avec WINDEV/WEBDEV) | hAccèsNatifXML | Connecteur Natif XML (fourni en standard avec WINDEV/WEBDEV) | hODBC | Provider 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) | hOledbAccess97 | Provider OLE DB pour Access 97 | hOledbAccess2000 | Provider OLE DB pour Access 2000 | hOledbDBase5 | Provider OLE DB pour DBase 5 | hOledbExcel97 | Provider OLE DB pour Excel 97 | hOledbExcel2000 | Provider OLE DB pour Excel 2000 | hOledbLotus4 | Provider OLE DB pour Lotus 4 | hOledbOracle | Provider OLE DB pour Oracle | hOledbSQLServer | Provider OLE DB pour SQL Server |
Attention : Pour utiliser une connexion OLE DB il est nécessaire : - d'installer le MDAC version 2.6 minimum (installation réalisée avec WINDEV/WEBDEV et lors de la création de la version Client)
- d'installer le provider OLE DB correspondant à la base de données manipulée.
Ce paramètre peut être récupéré grâce à la propriété CxProviderOLEDB. Les constantes disponibles sont les suivantes :
| | hAccèsHF7 | Pseudo-connexion à une base HFSQL Mobile | hAccèsHFClientServeur | Connexion à une base HFSQL Client/Serveur | hAccèsJDBCMySQL | Accès par JDBC à une base de données MySQL | hAccèsJDBCSQLite | Accès par JDBC à une base de données SQLite | hAccèsJDBCSQLServer | Accès par JDBC à une base de données SQL Server |
<Accès> : Constante optionnelle Paramètre le type d'accès à la base.
| | hOLecture | La 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.
Ce paramètre peut être récupéré grâce à la propriété CxInfosEtendues.
<Options supplémentaires> : Constante Si ce paramètre n'est pas spécifié, le moteur HFSQL détermine automatiquement les meilleurs paramètres à utiliser en fonction de la base accédée et du provider OLE DB utilisé.Pour forcer certains paramètres, il est possible de combiner les constantes suivantes : - Emplacement des curseurs
| | hCurseurClient | Curseur géré par le MDAC. Offre souvent plus de fonctionnalités qu'un curseur serveur. Un curseur client est obligatoirement un curseur statique. | hCurseurServeur | Curseur géré par la base de données. Ce curseur peut répercuter facilement les changements effectués par d'autres utilisateurs sur les données. |
- Type de curseur
| | hCurseurDynamique | Curseur offrant de nombreuses fonctionnalités, mais consommant beaucoup de mémoire. Ce curseur autorise tous les types de déplacement. Il permet d'accéder à toutes les modifications, ajouts et suppressions réalisées par les autres utilisateurs. | hCurseurForwardOnly | Curseur rapide et consommant peu de mémoire. Le déplacement se fait du premier enregistrement au dernier. Les données modifiées par les autres utilisateurs ne sont pas visibles. | hCurseurOpenKeySet | Curseur manipulant un jeu d'enregistrements figé. Seules des clés correspondant à l'enregistrement sont stockées et non les enregistrements (peu de ressources mémoire utilisées). Les enregistrements supprimés ne sont plus accessibles. Les modifications réalisées par les autres utilisateurs sont visibles (mais pas les ajouts). | hCurseurStatique | Récupère une copie de tous les enregistrements de la requête en mémoire (consommation mémoire importante). Tous les types de déplacement sont autorisés. |
- Mode de blocage
| | hCurseurLectureSeule | Le jeu d'enregistrements manipulé ne pourra pas être modifié. | hCurseurOptimiste | L'enregistrement n'est verrouillé que lors de sa mise à jour | hCurseurPessimiste | L'enregistrement est verrouillé dès son édition pour être modifié. |
Attention : tous les providers OLE DB ne gèrent pas tous les types de curseur. Remarques 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 Classification Métier / UI : Code métier
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|