DOCUMENTATION EN LIGNE
DE WINDEVWEBDEV ET WINDEV MOBILE

Aide / Connecteurs Natifs/Accès Natifs / Connecteur Natif Oracle
  • Présentation
  • Configuration nécessaire
  • Couche client nécessaire
  • Instant Client (solution recommandée)
  • Couche client Oracle complète
  • Remarques communes aux 2 couches client
  • Compatibilité
  • Compatibilité avec les couches clients Oracle 8i
  • Compatibilité avec Oracle 7.3
  • Utilisation
  • Pour utiliser le Connecteur Natif Oracle dans vos applications WINDEV ou vos sites WEBDEV :
  • Optimisations des fonctions HFSQL
  • Gestion du jeu de caractères/de la langue/du territoire
  • Fonctionnement
  • Attention
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
Présentation
En option, WINDEV et WEBDEV SaaS proposent un Connecteur Natif Oracle (également appelé Accès Natif Oracle). Ce Connecteur Natif permet d'accéder à une base Oracle sans drivers externes depuis un programme en WLangage.
Voici quelques uns des nombreux avantages de l'utilisation du Connecteur Natif Oracle :
  • Les fonctions HLitxxx (HLitSuivant, HModifie, ...) sont utilisables sur les bases de données Oracle. Ainsi, vous manipulez une base Oracle avec les mêmes ordres qu'une base de données HFSQL. Le portage d'une application existante vers des bases tierces est donc grandement facilité.
  • Le RAD permet de générer du code avec les fonctions Hxxx (HLitSuivant, ...) ou SQLxxx.
  • L'accès est direct sur base Oracle sans passer par une couche intermédiaire : MDAC inutile, OLE DB inutile, ODBC inutile.
  • WDMAP (le visionneur de données) est utilisable sur vos bases de données Oracle.
  • L'installation est simple : Pas de couche OLE DB ou ODBC chez le client.
  • Support des bases Oracle toutes versions.
  • etc.
L'utilisation de ce Connecteur Natif est fortement conseillée pour tout développement d'application Client/Serveur avec WINDEV, accédant à des bases de données Oracle. Pour toute information complémentaire, n'hésitez pas à nous contacter.
Remarques :
  • Pour obtenir le Connecteur Natif Oracle, contactez le service commercial de PC SOFT.
  • Le Connecteur Natif Oracle est disponible en 32 bits et en 64 bits.
  • Le Connecteur Natif Oracle est disponible sous Windows et Linux.
Configuration nécessaire

Couche client nécessaire

Le Connecteur Natif est compatible avec les couches clients Oracle suivantes :
  • Instant Client (solution recommandée).
  • Couche client Oracle complète.

Instant Client (solution recommandée)

Cette couche client disponible à partir de Oracle 10g ne nécessite aucune installation ou configuration. C'est la couche client la plus légère.
Windows Il suffit de copier dans le répertoire de l'application (ou dans un répertoire du PATH) les dlls contenues dans le fichier ZIP (par exemple "instantclient-basic-nt-11.2.0.2.0.zip", téléchargeable sur le site www.oracle.com).
Linux Il suffit de télécharger le fichier ZIP de la couche client (par exemple "instantclient-basicxxxx.zip", disponible sur le site www.oracle.com) et d'installer la couche client (voir documentation de Oracle pour l'installation). Si nécessaire, créez un lien symbolique vers le module de la couche client "libclntsh.so".
Le paramètre "Source de données" de la connexion WINDEV ou WEBDEV sera de la forme :
"//host:[port][/service name]"
Avec :
  • host : Nom de la machine hébergeant le serveur Oracle.
  • port : Numéro du port choisi lors de l'installation du serveur Oracle.
  • service name : Nom du service choisi lors de l'installation du serveur Oracle.

Couche client Oracle complète

Cette couche client disponible à partir de Oracle 8i nécessite une installation et une configuration. L'installation est généralement suivie de la définition des alias avec "Oracle Net Manager" qui permet de renseigner le contenu du fichier "tnsnames.ora".
Le paramètre "Source de données" de la connexion WINDEV ou WEBDEV sera de la forme :
"Alias"
Avec Alias correspondant au nom de la l'alias configuré avec "Oracle Net Manager".
Dans ce cas, lors de l'ouverture de la connexion, la couche client Oracle recherche dans le fichier "tnsnames.ora" les paramètres correspondant à cet alias (nom du serveur, numéro du port, nom du service).
Les erreurs suivantes peuvent être remontées par la couche client Oracle lors de l'ouverture de la connexion en cas de mauvaise configuration de l'alias :
  • ORA-12514: TNS : le processus d'écoute ne connaît pas actuellement le service demandé dans le descripteur de connexion
  • ORA-12154: TNS : l'identificateur de connexion indiqué n'a pas pu être résolu
Ce type d'erreur doit être corrigé dans la configuration des alias.
Le fichier "tnsnames.ora" est utilisé exclusivement par la couche client Oracle et non par le Connecteur Natif.
Reportez-vous à la documentation Oracle pour plus d'informations sur les causes possibles de ces erreurs et leurs solutions.

Remarques communes aux 2 couches client

  • Les couches clients Oracle sont généralement compatibles avec les serveurs plus anciens de 2 numéros de versions majeures. Par exemple la couche client 10g permet de se connecter à un serveur Oracle 8i.
  • Windows Le Connecteur Natif utilise la dll OCI.DLL de la couche client Oracle pour accéder au serveur Oracle. Les 2 couches clients mentionnées ci-dessus contiennent cette dll.
    Le chargement de la DLL OCI.DLL est réalisé en suivant le principe de chargement standard de Windows. L'élément est recherché par ordre de priorité dans :
    • le dossier de l'application,
    • le dossier de Windows,
    • les dossiers de la variable d'environnement PATH.
  • Linux Le Connecteur Natif utilise la dll libclntsh.so de la couche client Oracle pour accéder au serveur Oracle. Les 2 couches clients mentionnées ci-dessus contiennent cette dll.
    Si nécessaire, créez un lien symbolique vers ce module. Par exemple :
    ln -s libclntsh.so.12.1 libclntsh.so
  • Une application 32 bits nécessite l'utilisation d'une couche client 32 bits. Une application 64 bits nécessite l'utilisation d'une couche client 64 bits. Si vous développez une application 64 bits, il vous faudra certainement installer les versions 32 bits et 64 bits de la couche client Oracle sur votre poste de développement, car WINDEV et WEBDEV sont des applications 32 bits.
Compatibilité

Compatibilité avec les couches clients Oracle 8i

A partir de la version 17, le Connecteur Natif se connecte en utilisant le jeu de caractères UTF16 lorsque la couche client est suffisamment récente, ce qui élimine tout risque de déphasage de jeu de caractères entre l'application et la couche client.
Toutefois la couche client Oracle 8i n'offrant pas cette possibilité, lorsque le Connecteur Natif détecte que la couche client est en version 8i, le Connecteur Natif ne spécifie aucun jeu de caractères (fonctionnement des versions 16 et antérieures du Connecteur Natif).
Dans ce cas, la couche client Oracle considère que le jeu de caractères utilisé est le jeu de caractères sélectionné lors de l'installation de la couche client.
Le développeur doit s'assurer que le jeu de caractères configuré dans la couche client sur le poste du client final est bien identique au jeu de caractères utilisé dans l'application WINDEV ou dans le site WEBDEV.
En cas de déphasage des jeux de caractères, il existe un risque de corruption des données.
L'exécution de requêtes sans correction Unicode n'est pas disponible avec une couche client Oracle 8i.

Compatibilité avec Oracle 7.3

Il est possible de forcer le Connecteur Natif à fonctionner en mode compatibilité Oracle 7.3 si des dysfonctionnements sont rencontrés lors de la connexion à un serveur Oracle 7.3.
Dans ce cas, le Connecteur Natif utilise la dll OCIW32.DLL.
Certaines opérations ne seront toutefois plus disponibles en raison des limitations de la couche client Oracle 7.3.
Pour forcer le Connecteur Natif à fonctionner en mode compatibilité Oracle 7.3, ajoutez la chaîne suivante dans les informations optionnelles de la connexion WINDEV ou WEBDEV :
"WD CLIENT LIBRARY = 7"
Utilisation

Pour utiliser le Connecteur Natif Oracle dans vos applications WINDEV ou vos sites WEBDEV :

Pour utiliser ORACLE en natif, il faut programmer :
Remarques :
  • N'oubliez pas de consulter les limitations concernant l'utilisation du Connecteur Natif Oracle.
  • Pour déployer des sites utilisant le Connecteur Natif Oracle, il est nécessaire d'installer le Connecteur Natif Oracle sur le poste Serveur (Serveur d'Application WEBDEV). Cette installation est réalisée à partir du package d'installation du Connecteur Natif Oracle.
  • Gestion des erreurs dans les threads : Lorsqu'un appel au Connecteur Natif Oracle est effectué depuis un thread, il est possible de gérer les erreurs de manière habituelle.
  • Le Connecteur Natif Oracle gère les identifiants uniques de type UUID.
  • Il est possible si nécessaire de spécifier des informations optionnelles (également appelées options étendues) de connexion.

Optimisations des fonctions HFSQL

  • 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).
Gestion du jeu de caractères/de la langue/du territoire

Fonctionnement

Le Connecteur Natif fixe les propriétés NLS_LANGUAGE et NLS_TERRITORY aux valeurs correspondant à la langue et au pays en cours dans l'application au moment de l'ouverture de la connexion.
Couches clientes Oracle 8i et antérieures
Fonctionnement identique aux versions précédentes : Le Connecteur Natif ne spécifie aucun jeu de caractères et le développeur doit s'assurer que l'application WINDEV/WEBDEV utilise le même jeu de caractères que celui configuré dans la couche client Oracle.
Couches clientes Oracle 9i et postérieures
Le Connecteur Natif Oracle se connecte à la base de données en utilisant le jeu de caractères UTF16.
Les données ANSI sont échangées (bind et define) dans le jeu de caractères ANSI utilisé au moment de l'ouverture de la connexion.
Il n'y a donc plus de risque de déphasage du jeu de caractères entre la configuration de la couche client et l'application WINDEV ou WEBDEV.
Il est également possible d'utiliser la couche client "Oracle Instant Client" qui ne nécessite aucune installation (simple copie de dlls) et aucune configuration.

Attention

Dans tous les cas, Il est fortement déconseillé de changer d'alphabet après l'ouverture de la connexion sous peine de déphasage des jeux de caractères.
Version minimum requise
  • Version 9
Documentation également disponible pour…
Commentaires
Cliquez sur [Ajouter] pour publier un commentaire

Dernière modification : 26/06/2024

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