|
|
|
|
|
- Syntaxe 1 : Ouvrir une connexion prédéfinie : gestion automatique des connexions
- Syntaxe 2 : Utiliser une chaîne de caractères pour le provider OLE DB
- Syntaxe 2 et 3 : En cas d'échec, la description de la connexion n'est pas conservée
- Pseudo-connexion à une base de données HFSQL Classic
- Différences entre les fonctions HOuvreConnexion et HDécritConnexion
- Connecteur Natif Oracle : gestion de l'authentification externe
- Limitations
HOuvreConnexion (Fonction) En anglais : HOpenConnection
Non disponible avec ce type de connexion
Ouvre une connexion à une base de données spécifique. La connexion reste ouverte jusqu'à l'appel de la fonction HFermeConnexion. La fonction HOuvreConnexion permet de : - ouvrir une connexion prédéfinie.
- définir et ouvrir une connexion. Il est ensuite nécessaire d'affecter cette connexion à un fichier de données avec la fonction HChangeConnexion.
- définir et ouvrir une connexion en utilisant une chaîne de connexion. Cette syntaxe peut être utilisée avec certains providers OLE DB ayant des chaînes de connexion ADO spécifique.
- ouvrir une connexion définie avec une variable de type Connexion.
Attention : L'ordre d'utilisation des fonctions permettant de se connecter à une base de données HFSQL Client/Serveur est important. Consultez Optimiser les temps de connexion aux bases HFSQL Client/Serveur pour plus de détails.
Syntaxe <Résultat> : Booléen - Vrai si l'opération a été réalisée,
- Faux en cas de problème (par exemple, lors d'une connexion décrite par programmation, certains paramètres utilisés dans la fonction HDécritConnexion peuvent être inexacts).
<Connexion> : Chaîne de caractères ou variable de type Connexion Connexion à une base de données. Cette connexion correspond : - soit au nom de la connexion définie sous l'éditeur d'analyses,
- soit au nom de la connexion définie par la fonction HDécritConnexion. La description de la connexion doit être connue au moment de l'exécution de la fonction.
- soit au nom d'une variable de type Connexion.
Définir et ouvrir une connexion Masquer les détails
<Résultat> = HOuvreConnexion(<Nouvelle 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 affecter cette connexion à un fichier, utilisez la fonction HChangeConnexion. La description de la connexion sera détruite lors de la fermeture de la connexion.
<Nouvelle connexion> : Chaîne de caractères ou variable de type Connexion Nom de la nouvelle connexion à définir et à ouvrir. Ce nom ne doit pas être déjà utilisé par une autre connexion (connexion définie dans l'analyse, ou définie avec la fonction HOuvreConnexion ou HDécritConnexion).Ce paramètre correspond à la propriété Nom utilisée sur une variable de type Connexion. <Utilisateur> : Chaîne de caractères Nom de l'utilisateur utilisé pour la base de données. Ce paramètre peut être modifié et récupéré grâce à la propriété Utilisateur utilisée sur une variable de type Connexion. <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. Ce paramètre peut être modifié grâce à la propriété MotDePasse utilisée sur une variable de type Connexion. <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 connu et modifié grâce à la propriété Source (ou Serveur) utilisée sur une variable de type Connexion.
<Base de données> : Chaîne de caractères optionnelle Nom de la base de données à utiliser sur la source de données. Si ce paramètre n'est pas nécessaire, utilisez une chaîne vide ("").Ce paramètre peut être connu et modifié grâce à la propriété BaseDeDonnées utilisée sur une variable de type Connexion. Dans le cas d'une base de données découpée en schémas, le nom du schéma dans la base de données sera précisé par la fonction HChangeNom. Si cette base de données n'existe pas, cette base sera automatiquement créée. <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 de données HFSQL Classic. | hAccèsHFClientServeur | Connecteur Natif à une base de données 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. | hOledbAccess2007 | Provider OLE DB pour Access 2007. | hOledbAccess2010 | Provider OLE DB pour Access 2010. | hOledbDBase5 | Provider OLE DB pour DBase 5. | hOledbExcel97 | Provider OLE DB pour Excel 97. | hOledbExcel2000 | Provider OLE DB pour Excel 2000. | hOledbExcel2007 | Provider OLE DB pour Excel 2007. | hOledbLotus4 | Provider OLE DB pour Lotus 4. | hOledbOracle | Provider OLE DB pour Oracle. | hOledbSQLServer | Provider OLE DB pour SQL Server |
![Android Android](https://doc.pcsoft.fr/ext/images/fr/ANDROID.png?385929803) Les constantes disponibles sont les suivantes : | | hAccèsNatifSQLite | Connecteur Natif SQLite pour les applications Android. |
Ce paramètre peut être connu et modifié grâce à la propriété Provider utilisée sur une variable de type Connexion.
<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 connu et modifié grâce à la propriété Accès utilisée sur une variable de type Connexion. <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és 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.
<Options supplémentaires> : Constante optionnelle 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é. Par défaut, ce paramètre correspond à la combinaison de constantes suivante : hCurseurServeur + hCurseurOpenKeySet + hCurseurOptimiste Toutefois, ces paramètres peuvent varier en fonction des informations retournées par la base. 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.Ce paramètre peut être récupéré et modifié grâce à la propriété OptionsCurseur. Remarques Différences entre les fonctions 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)
HChangeConnexion(UnFichier, MaConnexion)
Méthode 2 : Pour décrire par programmation une connexion et l'ouvrir automatiquement lors de l'ouverture du fichier, 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 de données Oracle, dans un traitement bien spécifique, la connexion à la base de données 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)
...
HFerme(UnFichier)
Limitations ![Android Android](https://doc.pcsoft.fr/ext/images/fr/ANDROID.png?385929803) Seule la constante hAccèsNatifSQLite est disponible pour Android.
Documentation également disponible pour…
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|