Tableau et JDBC

Tableau prend en charge les pilotes JDBC (Java Database Connectivity) pour plusieurs connecteurs. Cela inclut à la fois les connecteurs officiels nommés, tels qu’Athena, et le connecteur générique à utiliser avec d’autres pilotes basés sur JDBC, appelés Autres bases de données (JDBC).

JDBC a besoin Java, ce qui le rend indépendant de la plate-forme. Depuis la version 2020.2, toutes les applications Tableau sont regroupées avec Java Runtime, de sorte que vous n’avez pas à l’installer séparément.

Remarque : si vous utilisez une version de Tableau Desktop antérieure à 2020.2, consultez la page Téléchargements de pilotes(Link opens in a new window)pour des instructions sur l’installation de Java.

Optimisation des performances du connecteur JDBC

Tableau offre la possibilité de personnaliser votre connexion de données JDBC, ce qui peut améliorer votre expérience de connexion. Pour plus d'informations, consultez Personnalisation et optimisation des connexions JDBC.

Prise en charge de connexions JDBC dans Tableau

Tableau ne garantit pas que l'utilisation du connecteur Autres bases de données (JDBC) avec un pilote ou une base de données JDBC permettra de se connecter correctement aux données et de les interroger. Certains pilotes JDBC prennent en charge la totalité de l'expérience interactive Tableau, tandis que d'autres fonctionnent uniquement pour la création d'extraits. Certains pilotes JDBC peuvent ne pas fonctionner avec Tableau.

Remarque : Tableau fournira des niveaux raisonnables d’assistance client pour aider à dépanner les connexions avec les pilotes JDBC, mais ne peut ni créer ni personnaliser un connecteur pour qu'il fonctionne avec un pilote JDBC particulier.

Questions fréquemment posées

Voici une liste de quelques problèmes courants et de la procédure à suivre pour les résoudre.

Je vois un message « Missing Java ». Que faire ?

Ce message peut s’afficher si vous utilisez une version de Tableau antérieure à 2020.2 ou Kerberos sur Windows. Consultez la page Téléchargements de pilotes(Link opens in a new window) pour des instructions sur l’installation de la version correcte de Java pour votre connecteur.

Depuis la version 2020.2, toutes les applications Tableau sont regroupées avec Java Runtime, si bien que vous n’aurez pas cette erreur.

Je vois un message « Missing Driver ». Que dois-je faire ?

Installez le pilote et toutes les bibliothèques dont il dépend, dans l’un des chemins d’accès suivants :

  • Windows : C:\Program Files\Tableau\Drivers
  • Mac : /Library/JDBC ou ~/Library/JDBC
  • Linux : /opt/tableau/tableau_driver/jdbc

Assurez-vous que le pilote est lisible par l’utilisateur exécutant Tableau ou l’utilisateur du service Tableau.

J’ai plusieurs pilotes JDBC installés pour Tableau, mais j’ai des difficultés à me connecter. Que dois-je faire ?

Si plusieurs pilotes JDBC sont installés pour Tableau, il est possible qu'ils utilisent une version différente de la même bibliothèque tierce, ce qui peut générer des problèmes imprévisibles. Si vous rencontrez des erreurs étranges lors de la connexion et que plusieurs pilotes JDBC sont installés dans le dossier pilote JDBC, vous pouvez utiliser les étapes suivantes pour les isoler.

Supposons que ces bibliothèques soient installées dans le dossier JDBC :

  • athena-driver.jar
  • athena-dependency.jar
  • athena-dependency.so
  • postgres-driver.jar

Pour isoler le pilote Athena du pilote Postgres, installez-le dans des sous-répertoires distincts :

  • Athena/athena-driver.jar
  • Athena/athena-dependency.jar
  • Athena/athena-dependency.dll
  • Postgres/postgres-driver.jar

Une fois que vous avez déplacé les pilotes, redémarrez Tableau.

Je vois un message « ClassNotFoundException » (ou similaire). Que dois-je faire ?

Si vous exécutez un pilote JDBC qui n’est pas compatible avec Java 11, vous pouvez rencontrer des problèmes d’exécution de Tableau.

Si vous pensez que vos problèmes peuvent être causés par Java 11 :

  1. Téléchargez Java 64-bit JRE (Java Runtime Environment) ou JDK (Java Development Kit) depuis AdoptOpenJDK :
    1. Accédez à https://adoptopenjdk.net/releases.html.
    2. Sélectionnez OpenJDK 11, puis Hotspot.
    3. Sélectionnez Other Platforms (Autres plates-formes) pour afficher une liste complète d’options.
    4. Téléchargez JRE ou JDK pour votre système d’exploitation.
  2. Sur l’ordinateur exécutant Tableau, définissez une variable d’environnement du type suivant :

    TABLEAU_JAVA_HOME=C:\Program Files\AdoptOpenJDK\jre-8.0.232.09-hotspot

    ou

    TABLEAU_JAVA_HOME=C:\Program Files\AdoptOpenJDK\jdk-8.0.252.09-hotspot

Comment résoudre les problèmes de proxy ?

Depuis la version 2019.4, lorsqu'il s’exécute sur Windows, Tableau lit les paramètres proxy en activant l’option useSystemProxies pour Java.

Dans certains cas, cela peut causer des problèmes. Par exemple, si vous sélectionnez « Utiliser le même serveur proxy pour tous les protocoles », la machine virtuelle Java tente d’utiliser un proxy SOCKS.

Pour des instructions de résolution de ce problème, consultez l’article de la Base de connaissances de Tableau intitulé Tableau fails to connect to Amazon Athena through Proxy With Error Code 37CE01A3 (Échec de la connexion de Tableau à Amazon Athena via un proxy avec le code d’erreur 37C01A3). Cet article fait référence spécifiquement à Athena, mais peut s’appliquer à n’importe quel connecteur JDBC.

J’ai du mal à me connecter à un serveur avec SSL. Quelles sont mes options ?

Si un message d’erreur du type « Could not find SSL verification path » (Impossible de trouver le chemin d’accès de vérification SSL), vous devrez peut-être configurer un certificat ou des clés privées.

Consultez SSL unilatéral pour les connexions JDBC pour obtenir des instructions sur l’utilisation d’un certificat. Si vous utilisez un pilote Oracle JDBC, consultez Connexions à Oracle JDBC avec SSL pour plus d’informations sur l’utilisation de certificats et/ou clé appropriés pour se connecter.

En cas d’utilisation du connecteur Other Database (JDBC) avec un pilote Postgres JDBC, les tentatives de création d’extraits échouent parfois. Quelles sont mes options ?

Vous pouvez rencontrer des erreurs si la taille de récupération du pilote Postgres n’est pas définie et si l’auto-validation est activée. Le pilote tentera de gérer trop de données à la fois et ne sera pas en mesure de le faire.

Essayez les solutions suivantes :

  1. Définissez la taille de récupération de vos données à l’aide de defaultRowFetchSize.

    Consultez la page Pilote JDBC(Link opens in a new window) sur le site PostgreSQL pour plus de détails.

  2. Désactivez l’auto-validation en créant (ou en modifiant un fichier TDC existant). Incluez ce qui suit dans le fichier TDC :

    <?xml version='1.0' encoding='utf-8' ?>
    <connection-customization class="genericjdbc" enabled="true" version="10">
    <vendor name="genericjdbc"/>
    <driver name="postgresql"/>
    <customizations>
    <customization name="CAP_JDBC_QUERY_DISABLE_AUTO_COMMIT" value="yes"/>
    </customizations>
    </connection-customization>

    Remarque : bien que cette étape soit nécessaire lorsque vous utilisez le connecteur Autres bases de données (JDBC), pour le connecteur Tableau nommé, ce n’est pas parce que l’auto-validation est déjà définie par défaut.

    Pour plus d’informations sur l’utilisation d’un fichier TDC pour les connexions JDBC, consultez Personnaliser et régler les connexions JDBC.

Voir également

Autres bases de données (JDBC) - Décrit comment vous pouvez connecter à vos données à l'aide du connecteur JDBC générique.

SSL à sens unique pour les connexions JDBC - Fournit des instructions sur l’utilisation d’un certificat avec un pilote JDBC pour accéder à un serveur avec SSL.

Personnalisation et optimisation des connexions JDBC - Décrit comment utiliser les fichiers TDC et PROPERTIES pour personnaliser les connexions JDBC.

Référence des personnalisations des fonctionnalités JDBC dans Tableau - Répertorie les personnalisations que vous pouvez utiliser pour définir les fonctionnalités de Tableau prises en charge par la source de données.

Merci de vos commentaires !