Se connecter à Oracle depuis ArcGIS

Pour vous connecter à Oracle depuis des clients ArcGIS, installez un client Oracle sur les machines clientes ArcGIS, définissez des variables d’environnement qui référencent le client Oracle, puis connectez-vous à la base de données à partir de ArcGIS.

Une fois le client Oracle configuré sur tous vos ordinateurs clients ArcGIS, créez un fichier de connexion à une base de données. Pour publier les service Web ArcGIS Server qui référencent les données de votre base de données Oracle, inscrivez le fichier de connexion à une base de données auprès de vos sites ArcGIS Server.

Connexion à partir de ArcGIS Pro

Pour vous connecter depuis un projet ArcGIS Pro à Oracle, installez un client Oracle sur l’ordinateur ArcGIS Pro, définissez la variable d’environnement PATH sur l’emplacement du client Oracle, puis créez une connexion à une base de données.

Installer le client Oracle

Pour établir une connexion d’un ordinateur client à une base de données Oracle, vous devez installer l’application cliente Oracle sur l’ordinateur client. Veillez à installer une version de l’application cliente Oracle qui soit compatible avec la version de la base de données à laquelle vous souhaitez vous connecter.

Vous pouvez obtenir le client Oracle Instant, Runtime ou Administrator auprès de Oracle et l’installer sur l’ordinateur client, conformément aux instructions de la documentation Oracle.

Définir la variable PATH

Définissez la variable d’environnement PATH sur la machine ArcGIS Pro pour qu’elle désigne le répertoire d’installation du client Oracle. Consultez la documentation Microsoft Windows pour savoir comment définir la variable d’environnement PATH.

Remarque :

Si ArcMap et ArcGIS Pro sont installés sur le même ordinateur, définissez la variable PATH de manière à lire le client 64 bits avant le client 32 bits. Par exemple, si vous avez installé Oracle Instant Client 32 bits dans le répertoire c:\Program Files (x86)\Oracle et Oracle Instant Client 64 bits dans le répertoire c:\Program Files\Oracle, ajoutez les informations suivantes au début de la valeur de la variable PATH sous Windows : C:\Program Files\Oracle;C:\Program Files (x86)\Oracle;

Si ArcGIS Pro est ouvert sur la machine avant la définition de la variable PATH, redémarrez le programme pour appliquer le nouveau paramètre.

Connexion à la base de données

Ajoutez une connexion à une base de données via la boîte de dialogue Database Connection (Connexion à la base de données) ou grâce à l’outil Create Database Connection (Créer une connexion à une base de données). La procédure suivante présente l'utilisation de la boîte de dialogue Connexion à la base de données.

  1. Cliquez avec le bouton droit sur Bases de données dans la fenêtre Catalogue et sélectionnez Nouvelle connexion à une base de données.
  2. Sélectionnez Oracle dans la liste déroulante Plateforme de la base de données.
  3. Indiquez le nom TNS Oracle dans la zone de texte Instance ou indiquez une des chaînes Easy Connect de Oracle suivantes :
    • Nom du serveur Oracle/nom ou ID du service Oracle

      Par exemple, si Oracle est installé sur myserver et que myosvc est le nom du service Oracle, saisissez la syntaxe suivante :

      myserver/myosvc

    • Nom du serveur Oracle : numéro de port Oracle/nom ou ID du service Oracle

      Dans cet exemple, Oracle est installé sur myserver, écoute sur le port 60000 et myoservice est le nom du service Oracle.

      myserver:60000/myoservice

    • Adresse URL du serveur Oracle

      L'URL de l'instance illustrée dans le dernier exemple serait la suivante :

      //myserver:60000/myoservice

    • Nom du serveur Oracle (vous pouvez l’utiliser si le processus d’écoute Oracle sur le serveur est configuré pour pointer sur une instance par défaut.)
    • Adresse IP du serveur Oracle/nom ou ID du service Oracle

      Par exemple, si l’adresse du serveur est 10:10:10:10 et que le nom du service Oracle est orasvc, saisissez 10:10:10:10/orasvc.

      Placez les adresses IPV6 entre crochets, comme suit : [4000:ab5:0:0:f666:d191:77f5:e2bd]/orasvc.

    • Adresse IP du serveur Oracle : numéro de port Oracle/nom ou ID du service Oracle

      Dans cet exemple, l’adresse IP est 10:20:30:40, le port est 59999 et le service Oracle est myomy1 : 10:20:30:40:59999/myomy1.

      Une adresse IPV6 pour les mêmes port et service aurait l'aspect suivant : [6543:ef4:0:1:f587:l249:12f9:a3cd]:59999/myomy110:20:30:40:59999/myomy1.

    Vérifiez que votre instance Oracle est configurée de façon à autoriser Easy Connect. Si le client Oracle complet est installé, mais que vous souhaitez utiliser la syntaxe Easy Connect pour vous connecter, veillez à ce que le fichier sqlnet.ora sur le client soit configuré de façon à autoriser l’utilisation d’Easy Connect et à ce que le serveur Oracle soit configuré pour autoriser la syntaxe Easy Connect. Notez également que si votre instance Oracle n’écoute pas sur le numéro de port Oracle par défaut, vous devez utiliser la syntaxe de connexion incluant le numéro de port.

  4. Choisissez le type d'authentification à utiliser lorsque vous vous connectez à la base de données : Authentification de la base de données ou Authentification du système d’exploitation.
    • Si vous cliquez sur Authentification du système d'exploitation, vous n'avez pas besoin d'entrer un nom d'utilisateur et un mot de passe : la connexion est établie avec le nom de connexion et le mot de passe utilisés pour ouvrir une session dans le système d'exploitation. Si la connexion utilisée pour le système d'exploitation n'est pas une connexion de base de données valide, la connexion échoue. Vous ne pouvez pas utiliser l’authentification du système d’exploitation si vous utilisez Instant Client Oracle.
      Remarque :

      Lorsque vous utilisez l’authentification du système d’exploitation dans Oracle, l’identifiant de connexion au système d’exploitation est préfixé par une chaîne os_authent_prefix (par défaut, OPS$) et stocké dans la table USERNAME. Le nombre maximal de caractères autorisés pour le nom d'utilisateur lors de la connexion à la géodatabase est de 30. Dans ces cas précis, ArcGIS entoure votre nom d'utilisateur de guillemets pour le transmettre à la base de données. Ces guillemets sont compris dans le nombre total de 30 caractères.

    • Si vous choisissez Authentification de la base de données, vous devez fournir un nom d'utilisateur de base de données et un mot de passe valides dans les zones de texte Nom d'utilisateur et Mot de passe. La longueur maximale des noms d'utilisateur est de 30 caractères.

      Décochez la case Enregistrer le nom d'utilisateur et le mot de passe si vous préférez ne pas enregistrer les informations de connexion avec la connexion. Cela peut vous aider à sécuriser la base de données. Toutefois, si vous procédez ainsi, vous serez invité à fournir un nom d'utilisateur et un mot de passe à chaque connexion.

    Remarque :

    L’option Save user name and password (Enregistrer le nom d’utilisateur et le mot de passe) doit être activée pour les fichiers de connexion offrant des services ArcGIS avec accès à la base de données, ou si vous souhaitez localiser dans ArcGIS Pro les données accessibles via ce fichier de connexion.

  5. Cliquez sur OK pour vous connecter.

Connexion à partir de ArcGIS Server

Si Oracle et ArcGIS Server s’exécutent sur des serveurs distincts, installez un client Oracle 64 bits sur toutes les machines sur le site ArcGIS Server. Sur les machines Windows, ajoutez le répertoire du client Oracle à la variable PATH.

Si ArcGIS Server est installé sur des serveurs Linux, modifiez le script init_user_param.sh installé avec ArcGIS Server pour y ajouter des informations sur l’instance et le client Oracle, puis redémarrez ArcGIS Server.

Pour que les services que vous publiez sur ArcGIS Server utilisent les données de votre base de données ou d’une géodatabase dans Oracle, inscrivez la base de données auprès des sites ArcGIS Server.

Installer le client Oracle

Si ArcGIS Server et Oracle sont installés sur des serveurs distincts, vous devez installer l’application du client Oracle sur chaque machine du site ArcGIS Server. Veillez à installer une version de l’application cliente Oracle qui soit compatible avec la version de la base de données à laquelle vous souhaitez vous connecter.

Vous pouvez obtenir le client Oracle Instant, Runtime ou Administrator Client auprès de Oracle et l’installer sur les machines ArcGIS Server. Suivez les instructions figurant dans votre documentation Oracle pour l’installation du client Oracle.

Définir la variable d’environnement PATH (Windows uniquement)

Définissez la variable d’environnement PATH sur chaque serveur Windows de ArcGIS Server pour qu’elle désigne le répertoire d’installation du client Oracle. Consultez la documentation Microsoft Windows pour savoir comment définir la variable d’environnement PATH.

Si ArcGIS Server était en cours d’exécution avant la configuration du client Oracle et la définition de la variable PATH, vous devez redémarrer ArcGIS Server. Vous pouvez redémarrer ArcGIS Server à partir de l’interface des Services Windows.

Modifiez le script init_user_param.sh (Linux uniquement).

Une fois les fichiers de clients de bases de données installés, modifiez le script init_user_param.sh installé avec ArcGIS Server pour référencer les fichiers de clients. Vous pouvez accéder à ce script dans le répertoire <ArcGIS Server installation directory>/arcgis/server/usr.

Remarque :

Si votre profil utilisateur référence le client Oracle et si les informations sur le client ne sont pas identiques dans le profil utilisateur et dans init_user_param.sh, ArcGIS Server risque d’avoir des difficultés à se connecter à la base de données. Pour éviter les problèmes de connexion, supprimez les informations de référence de votre profil utilisateur et référencez à nouveau vos bibliothèques de client de base de données en procédant comme suit :

  1. Vérifiez que le propriétaire de l’installation ArcGIS Server sur chaque machine dispose au moins des autorisations de lecture et d’exécution sur les bibliothèques du client de la base de données.
  2. Ouvrez le script init_user_param.sh dans un éditeur de texte.
  3. Supprimez les marques de commentaire (#) des lignes qui commencent par export.

    Si vous avez installé le client Oracle Administrator, Developer ou Runtime, supprimez les marques de commentaire de toutes les lignes Oracle commençant par export.

    #
    # For connection with Oracle Runtime or Administrator Client
    #
    export ORACLE_BASE=<Oracle_InstallDir>/app
    export ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/<client_Version>
    export ORACLE_SID=<set when applicable>
    export TNS_ADMIN=<set when applicable. e.g.$ORACLE_HOME/network/admin>
    export PATH=$ORACLE_HOME/bin:$PATH
    export LD_LIBRARY_PATH=$ORACLE_HOME/lib:$LD_LIBRARY_PATH

    Si vous utilisez les bibliothèques Database Instant Client Oracle, vous devez uniquement annuler les marques de commentaire et définir $LD_LIBRARY_PATH ; par exemple :

    #
    # To connect with Oracle Instant Client
    #
    export LD_LIBRARY_PATH=<Location_to_instantclient>:$LD_LIBRARY_PATH

  4. Définissez les valeurs des variables d'exportation.
    • Pour les clients Oracle Administrator, Developer ou Runtime, supprimez les marques de commentaire et définissez les variables suivantes en fonction des informations spécifiques à votre implémentation.
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> correspond au nom et au chemin d’accès au répertoire de niveau supérieur dans lequel le client Oracle est installé.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Il s’agit du chemin d’accès aux fichiers de la bibliothèque du client Oracle. Définissez ORACLE_HOME sur le répertoire qui contient ces fichiers. Par défaut, le nom du répertoire est client_1, mais il peut varier selon les installations.

      • Si vous utilisez l’ID du système Oracle (SID) pour vous connecter, définissez ORACLE_SID= sur l’ID du système Oracle de votre base de données. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, mettez cette ligne en commentaire.
      • Définissez TNS_ADMIN= sur l’emplacement des fichiers d’administration TNS du client Oracle. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, aucune valeur n'est attendue et vous pouvez mettre cette ligne en commentaire.
    • Pour les clients Oracle Instant, supprimez les marques de commentaire et définissez uniquement la variable LD_LIBRARY_PATH, en remplaçant <Location_to_instantclient> par le nom et le chemin d’accès au répertoire qui contient les fichiers de Oracle Instant Client.
    • Si ArcGIS Server et Oracle sont installés sur le même serveur, supprimez les marques de commentaire et définissez les variables suivantes :
      • ORACLE_BASE=<Oracle_Installdir>

        <Oracle_Installdir> correspond au nom et au chemin d’accès au répertoire de niveau supérieur dans lequel est installé Oracle.

      • ORACLE_HOME=$ORACLE_BASE/<Oracle_Release>/product/<Oracle_Version>/client_1

        Il s’agit du chemin d’accès aux fichiers de la bibliothèque Oracle. Définissez ORACLE_HOME sur le répertoire qui contient ces fichiers. Par défaut, le nom du répertoire est db_<n>, mais il peut varier selon les installations.

      • Si vous utilisez l’ID du système Oracle (SID) pour vous connecter, définissez ORACLE_SID= sur l’ID du système Oracle de votre base de données. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, mettez cette ligne en commentaire.
      • Définissez TNS_ADMIN= sur l’emplacement des fichiers d’administration TNS du client Oracle. Si vous devez utiliser une chaîne Easy Connect pour vous connecter, aucune valeur n'est attendue et vous pouvez mettre cette ligne en commentaire.
  5. Enregistrez et fermez le script.
  6. Pour que les modifications que vous avez apportées dans le fichier init_user_param.sh prennent effet, vous devez redémarrer ArcGIS Server Pour ce faire, exécutez le script stopserver.sh, puis lancez le script startserver.sh sur chaque machine du site ArcGIS Server.

    ./stopserver.sh

    ./startserver.sh

Inscrire la base de données

Pour que vos services Web utilisent les données de votre base de données Oracle ou d’une géodatabase dans Oracle, inscrivez-la auprès de vos sites ArcGIS Server. Reportez-vous à la rubrique Gérer les répertoires de données inscrits pour obtenir les instructions correspondantes.