Résumé des étapes :
- Copiez le fichier tnsnames.ora sur un emplacement auquel l'utilisateur tableau a accès
- Définissez les autorisations sur le fichier.
- Mettez à jour la variable d'environnementTNS_ADMIN, si nécessaire, de manière à pointer vers le répertoire à partir de l'étape (1).
Étape 1 : Copier le fichier tnsnames.ora sur un répertoire auquel l'utilisateur sans privilège (tableau) peut accéder
Pour 2019.3.x et versions ultérieures :
Copiez le fichier tnsnames.ora sur le répertoire /etc.
Pour 2019.2.x et versions antérieures :
Par défaut , l'utilisateur sans privilège est appelé « tableau ». Tous les processus Tableau Server sont exécutés avec ce compte et doivent être capables de localiser le fichier tnsnames.ora pour l'utiliser.
Si vous avez déjà installé le connecteur Oracle, nous vous recommandons de copier le fichier sur le répertoire /opt/tableau/tableau_driver/oracle.
Vous pouvez vérifier que le répertoire est accessible par l'utilisateur en utilisant « su » pour basculer sur le compte et sur le répertoire. Par exemple :
sudo su tableau
cd /opt/tableau/tableau_driver/oracle
Si ces résultats entraînent une erreur « autorisation refusée », vous devez mettre à jour les autorisations sur le répertoire que vous utilisez.
Étape 2 : Définir les autorisations pour le fichier tnsnames.ora
2019.2.x et antérieur, suivez la procédure ci-dessous :
- Accédez au chemin d'accès du fichier où se trouve le fichier tnsnames.ora.
- Accordez des autorisations pour le fichier en exécutant la commande : chmod 666 tnsnames.ora
- Vérifiez les autorisations de fichier à l'aide de la commande suivante : ls -l
Remarque : le chemin d'environnement ne doit
pas avoir de barre oblique finale. Si le format du chemin est incorrect, les utilisateurs peuvent rencontrer une erreur ORA-12154.
2019.3 et versions ultérieures :Placez le fichier tsnames.ora dans le répertoire
/etc sur l'ordinateur Linux. Aucune variable d'environnement n'est nécessaire.
2020.2 et versions ultérieures :Créez un fichier /var/opt/tableau/tableau_server/data/tabsvc/vizqlserver/Datasources/oracle2.tdc avec le texte ci-dessous :
Exemple :
oracle.net.tns_admin=/etcModifiez
/etc si nécessaire pour pointer vers le chemin du fichier tnsnames.ora dans le système de fichiers de votre Serveur.
Pour plus d’informations, sur les fichiers de propriétés JDBC, consultez
https://kb.tableau.com/articles/howto/Customizing-JDBC-Connections?lang=fr-fr
Étape 3 : Définir la variable d'environnement TNS_ADMIN de manière à pointer vers le répertoire à partir de l'étape (1)
Pour 2019.3.x et versions ultérieures : vous pouvez ignorer cette étape. Aucune variable d'environnement n'est requise.
Pour 2019.2.x et versions antérieures :
- Dans un éditeur de texte, ouvrez le fichier correspondant à votre version de Tableau Server :
- Tableau Server 2018.1.x - 2019.2 -- /var/opt/tableau/tableau_server/.local/share/systemd/user/tabsvc_0.service
- Ajoutez la ligne suivante, où « /path/to/file-folder » correspond au répertoire sur lequel vous avez copié le fichier tnsnames.ora à l'étape 1 :
- Environment=TNS_ADMIN=/path/to/file-folder
- Enregistrez les modifications apportées au fichier.
Remarque : le chemin d'environnement ne doit pas avoir de barre oblique finale. Si le format du chemin est incorrect, les utilisateurs peuvent rencontrer une erreur ORA-12154.
CLIQUER POUR DÉVELOPPER LA SOLUTION
Tous les environnements
Étapes facultatives
Trouver les fichiers tnsnames.ora
Si le client Oracle est installé sur votre serveur, le fichier tnsnames.ora se trouve dans le répertoire suivant : $ORACLE_HOME/network/admin.
Vous pouvez vérifier si ce fichier existe avec les commandes suivantes :
echo $ORACLE_HOME
imprimera le chemin d'accès du fichier.
sudo find / -iname tnsnames.ora
référence les emplacements de tous les fichiers tnsnames.ora sur votre système de fichiers.
Remarque : il n'est pas nécessaire que le client Oracle soit installé pour utiliser tnsnames.ora avec Tableau Server. Cette étape est simplement conçue pour vous aider à travailler avec toute installation existante.
Création d'un nouveau fichier tnsnames.ora depuis le début
Si aucun fichier tnsnames.ora n'est présent sur cet ordinateur et que vous n'en avez aucun à copier depuis la station de travail d'un client, vous pouvez en créer un avec un éditeur de texte. Gardez à l'esprit les restrictions suivantes :
Voici un modèle possible d'entrée ci-dessous. Il est nécessaire de remplacer les éléments entre parenthèses par les valeurs transmises par votre administrateur de base de données.
Remarque : un fichier TNSNames.ora sur un ordinateur Windows ou Mac peut ne pas exiger l'entrée ADDRESS_LIST. Par contre, le fichier tnsnames.ora sur un ordinateur Linux requiert cette variable.
[net_service_name]=
(DESCRIPTION=
(ADDRESS_LIST=
(ADDRESS=[protocol_address_information])
)
(CONNECT_DATA=
(SERVICE_NAME=[service_name])
)
)
Par exemple :
Production =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = prod.corp.com)(PORT = 1521)
)
(CONNECT_DATA =
(SERVICE_NAME = orcl)
)
)