PC SOFT

DOCUMENTATION EN LIGNE
DE WINDEV, WEBDEV ET WINDEV MOBILE

  • Présentation
  • Nouveautés de la version 18
  • Nouveautés de la version 21
  • 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
  • Compatibilité avec WDORAINS.EXE
  • 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 en version 16 et antérieures
  • Fonctionnement en version 17 et supérieures
  • Attention
Produits
WINDEVWEBDEV - Code ServeurWEBDEV - Code NavigateurWINDEV MobileEtats et Requêtes
Plateformes
WindowsLinuxWindows MobileUniversal Windows 10 AppAndroidWidget AndroidiPhone/iPadApple Watch
Langages
JavaPHPAjaxCode Utilisateur (MCU)Langage Externe
Bases de données
HFSQLHFSQL Client/ServeurProcédures stockéesOLE DBODBCAccès Natifs
Présentation
En option, WINDEV et WEBDEV 22 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.
  • Versions 16 et supérieures
    Le Connecteur Natif Oracle est disponible en 32 bits et en 64 bits.
    Nouveauté 16
    Le Connecteur Natif Oracle est disponible en 32 bits et en 64 bits.
    Le Connecteur Natif Oracle est disponible en 32 bits et en 64 bits.
  • Versions 21 et supérieures
    Le Connecteur Natif Oracle est disponible sous Windows et Linux.
    Nouveauté 21
    Le Connecteur Natif Oracle est disponible sous Windows et Linux.
    Le Connecteur Natif Oracle est disponible sous Windows et Linux.
Versions 18 et supérieures

Nouveautés de la version 18

Dans cette version, il est désormais possible :
Nouveauté 18

Nouveautés de la version 18

Dans cette version, il est désormais possible :

Nouveautés de la version 18

Dans cette version, il est désormais possible :
Versions 21 et supérieures

Nouveautés de la version 21

Les principales nouveautés de la version 21 sont :
  • Le Connecteur Natif Oracle est disponible sous Linux.
  • L'outil WDORAINS est disponible en 64 bits (fichier WDORAINS64.exe). Pour plus de détails, consultez Paramétrage de la connexion avec WDORAINS.
  • Gestion des valeurs par défaut.
    Les valeurs par défaut des rubriques sont désormais gérées par le Connecteur Natif Oracle. Ces valeurs par défaut peuvent être :
    • une valeur,
    • une formule SQL. Dans ce cas, l'expression SQL doit être reconnue par le moteur HFSQL et par la base Oracle.
  • Gestion des rubriques calculées.
    Il est désormais possible d'utiliser des rubriques calculées dans les fichiers de données. La gestion des rubriques calculées est disponible à partir de Oracle version 11g minimum.
Nouveauté 21

Nouveautés de la version 21

Les principales nouveautés de la version 21 sont :
  • Le Connecteur Natif Oracle est disponible sous Linux.
  • L'outil WDORAINS est disponible en 64 bits (fichier WDORAINS64.exe). Pour plus de détails, consultez Paramétrage de la connexion avec WDORAINS.
  • Gestion des valeurs par défaut.
    Les valeurs par défaut des rubriques sont désormais gérées par le Connecteur Natif Oracle. Ces valeurs par défaut peuvent être :
    • une valeur,
    • une formule SQL. Dans ce cas, l'expression SQL doit être reconnue par le moteur HFSQL et par la base Oracle.
  • Gestion des rubriques calculées.
    Il est désormais possible d'utiliser des rubriques calculées dans les fichiers de données. La gestion des rubriques calculées est disponible à partir de Oracle version 11g minimum.

Nouveautés de la version 21

Les principales nouveautés de la version 21 sont :
  • Le Connecteur Natif Oracle est disponible sous Linux.
  • L'outil WDORAINS est disponible en 64 bits (fichier WDORAINS64.exe). Pour plus de détails, consultez Paramétrage de la connexion avec WDORAINS.
  • Gestion des valeurs par défaut.
    Les valeurs par défaut des rubriques sont désormais gérées par le Connecteur Natif Oracle. Ces valeurs par défaut peuvent être :
    • une valeur,
    • une formule SQL. Dans ce cas, l'expression SQL doit être reconnue par le moteur HFSQL et par la base Oracle.
  • Gestion des rubriques calculées.
    Il est désormais possible d'utiliser des rubriques calculées dans les fichiers de données. La gestion des rubriques calculées est disponible à partir de Oracle version 11g minimum.
Configuration nécessaire

Couche client nécessaire

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

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).
Versions 21 et supérieures
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".
Nouveauté 21
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".
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.
Nouveauté 17

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).
Versions 21 et supérieures
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".
Nouveauté 21
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".
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.

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).
Versions 21 et supérieures
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".
Nouveauté 21
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".
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.
  • Versions 21 et supérieures
    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
    Nouveauté 21
    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
    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"

Compatibilité avec WDORAINS.EXE

Une compatibilité totale est assurée avec l’outil de configuration WDORAINS.EXE fourni historiquement avec le Connecteur Natif (sous Windows uniquement, en 32 bits). Toutefois son utilisation est déconseillée pour les nouveaux développements.
Tous les paramètres auparavant configurables avec WDORAINS.EXE dans le fichier WDORAINS.INI sont maintenant configurables directement dans les informations optionnelles de la connexion.
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 CD du Connecteur Natif Oracle.

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 en version 16 et antérieures

Le Connecteur Natif ne spécifiant aucune option, la couche client Oracle utilise les valeurs par défaut ayant été sélectionnées lors de l’installation/configuration de la couche client.
Le développeur doit s’assurer que le jeu de caractères utilisé par 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.

Fonctionnement en version 17 et supérieures

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