SAP HANA

Cet article décrit comment connecter Tableau à une base de données SAP HANA et configurer la source de données.

Remarque : ce connecteur utilise des pilotes JDBC pour Mac, Linux et Windows. Le pilote JDBC pour Windows est nouveau dans Tableau version 2021.1. Les pilotes JDBC pour Mac et Linux ont été introduits dans Tableau version 2020.2.

Avant de commencer

Avant de démarrer, rassemblez les informations de connexion suivantes :

  • Effectuez-vous une connexion sur un seul nœud ou sur plusieurs nœuds ?

    • Un seul nœud : nom du serveur qui héberge la base de données à laquelle vous souhaitez vous connecter, et numéro de port si vous utilisez un port autre que par défaut

    • Plusieurs nœuds : nom des serveurs et numéros de port hébergeant la base de données à laquelle vous souhaitez vous connecter

  • Méthode d'authentification :

    • Windows : Authentification Windows ou nom d'utilisateur et mot de passe

    • Mac : Kerberos ou nom d'utilisateur et mot de passe

  • Vous vous connectez à un serveur SSL ?

  • (Facultatif) Expression SQL initial à exécuter à chaque connexion de Tableau

Pilote requis

Ce connecteur nécessite un pilote pour communiquer avec la base de données. Il se peut que le pilote requis soit déjà installé sur votre ordinateur. Si le pilote n'est pas installé sur votre ordinateur, Tableau affiche une message d'erreur dans la boîte de dialogue de connexion avec un lien vers la page Téléchargement de pilotes(Link opens in a new window) où vous trouverez des liens vers les pilotes et des instructions d'installation.

Établir la connexion et configurer la source des données

  1. Démarrez Tableau et sous Connexion, sélectionnez SAP HANA. Pour obtenir la liste complète des connexions de données, sélectionnez Plus sous Vers un serveur. Effectuez ensuite l'action suivante :

    1. Sélectionnez le type de connexion :

      • Un seul nœud - Entrez le nom du serveur qui héberge la base de données à laquelle vous souhaitez vous connecter, et numéro de port si vous utilisez un port autre que par défaut.

      • Plusieurs nœuds - Entrez le nom d'hôte et le numéro de port de chaque serveur, en les séparant par une virgule. Par exemple :

        host1:30015,host2:30015,host3:30015

        Pour plus d'informations sur la prise en charge du basculement par SAP HANA, consultez Configuration de clients pour le basculement(Link opens in a new window) sur le portail d'aide de SAP .

    2. Spécifiez le mode de connexion au serveur :

      Sur Windows :

      • Sélectionnez Utiliser l'authentification Windows si votre environnement prend en charge la connexion SSO (single sign-on). Pour plus d'informations sur les exigences liées à l'authentification unique et à l'environnement, consultez Prise en charge de l'authentification unique (SSO) pour SAP HANA.

      • Sinon, sélectionnez Utiliser un nom d'utilisateur et un mot de passe spécifiques. Si le serveur est protégé par un mot de passe et que vous n'êtes pas dans un environnement Kerberos, vous devez entrer le nom et le mot de passe de l'utilisateur.

      Sur Mac : Sélectionnez Kerberos ou sélectionnez Utiliser un nom d'utilisateur et un mot de passe spécifiques.

      Cochez la case Nécessite SSL lors de la connexion à un serveur SSL.

    3. (Facultatif) Sélectionnez SQL initial pour spécifier une commande SQL à exécuter au début de chaque connexion, par exemple lors de l'ouverture du classeur, de l'actualisation d'un extrait, de la connexion à Tableau Server ou de la publication sur Tableau Server. Pour plus d'informations, consultez Exécuter SQL initial.

    4. Sélectionnez Connexion.

      Si Tableau ne parvient pas à établir la connexion, vérifiez que vos informations d'identification sont correctes. Si la connexion n'aboutit toujours pas, cela signifie que votre ordinateur ne parvient pas à localiser le serveur. Contactez votre administrateur réseau ou votre administrateur de base de données.

  2. Sur la page de la source de données, procédez comme suit :

    1. (Facultatif) Sélectionnez le nom de la source de données par défaut en haut de la page, puis tapez un nom de source de données unique pour l'utiliser dans Tableau. Par exemple, utilisez une convention pertinente d'appellation de la source de données qui aide d'autres utilisateurs de la source de données à déduire à quelle source de données se connecter.

    2. Dans la liste déroulante Schéma, sélectionnez l'icône de recherche ou saisissez le nom du schéma dans la zone de texte et sélectionnez l'icône de recherche, puis sélectionnez le schéma.

    3. Dans la zone de texte Table, sélectionnez l'icône de recherche ou saisissez le nom de la table et sélectionnez l'icône de recherche, puis sélectionnez la table.

      Tableau Desktop prend également en charge les fonctions de table SAP HANA, qui apparaissent sous Procédures stockées sur le côté gauche du volet Source de données.

    4. Faites glisser la table vers l'espace de travail, puis sélectionnez l'onglet de la feuille pour démarrer votre analyse.

      Par défaut, les étiquettes de colonne s'affichent au lieu des noms de colonnes.

      Utilisez SQL personnalisé pour vous connecter à une requête spécifique plutôt qu'à la source de données entière. Pour plus d'informations, consultez Se connecter à une requête SQL personnalisée.

      Remarque : Lorsque vous créez une liaison automatique avec une vue analytique, si une des tables contient des variables, assurez-vous que la table contenant les variables se trouve à gauche. Dans le cas contraire, la liaison risque de ne pas retourner les résultats attendus.

Connexion sur un Mac

Si vous utilisez Tableau Desktop sur un Mac, lorsque vous entrez le nom du serveur auquel vous connecter, utilisez un nom de domaine qualifié complet, par exemple mydb.test.ourdomain.lan, plutôt qu'un nom de domaine relatif tel que mydb ou mydb.test.

Vous pouvez sinon ajouter le domaine à la liste des Domaines de recherche pour l'ordinateur Mac. De cette manière, lorsque vous vous connectez, vous n'avez qu'à fournir le nom du serveur. Pour actualiser la liste des domaines de recherche, accédez à Préférences Système > Réseau > Avancé, puis ouvrez l'onglet DNS.

Convertir une hiérarchie de niveaux SAP HANA en une hiérarchie utilisateur

Dans toutes les versions Tableau, lorsque vous créez une source de données ou un classeur SAP HANA, vous pouvez créer votre propre hiérarchie dans Tableau à utiliser uniquement dans Tableau.

Depuis Tableau 2019.4, en plus de la prise en charge de la création de votre propre hiérarchie à utiliser dans le tableau, Tableau prend désormais en charge les hiérarchies de niveaux créées dans SAP HANA. Cela signifie que lorsque vous connectez Tableau à une vue de calcul SAP HANA avec une hiérarchie de niveaux, la structure de la hiérarchie de niveaux SAP HANA apparaît dans le volet Données.

Si vous souhaitez modifier la hiérarchie de niveaux SAP HANA dans Tableau, vous devez convertir la hiérarchie de niveaux SAP HANA en une hiérarchie utilisateur. Après avoir converti une hiérarchie de niveaux SAP HANA en une hiérarchie utilisateur, vous ne pouvez pas l'annuler. Si vous décidez d'utiliser la hiérarchie de niveaux SAP HANA au lieu de la hiérarchie utilisateur, vous devez recommencer.

Pour convertir en une hiérarchie utilisateur, procédez comme suit :

  1. À gauche de la feuille, dans le volet Données, sélectionnez la hiérarchie, puis sélectionnez le menu déroulant.
  2. Dans le menu déroulant, sélectionnez Convertir dans la hiérarchie des utilisateurs.

Personnaliser les connexions JDBC

Sous Mac ou Linux, SAP HANA utilise une connexion JDBC que vous pouvez personnaliser en utilisant un fichier de propriétés. Pour plus d'informations, consultez Personnaliser les connexions JDBC en utilisant un fichier de propriétés(Link opens in a new window) dans la communauté Tableau.

Installer les certificats SSL approuvés sur un Mac

Si vous souhaitez utiliser SSL/TLS pour crypter les communications entre Tableau Desktop et votre base de données, vous devrez peut-être ajouter des certificats à la banque approuvée de certificats Java. Cette opération est requise si votre base de données utilise des certificat autosignés.

Remarque : depuis Tableau version 2020.2, vous pouvez importer un certificat personnalisé dans la chaîne de clé « Système ». Pour plus d’informations, consultez SSL unilatéral pour les connexions JDBC.

Pour connecter Tableau Desktop à votre base de données à l’aide de SSL/TLS, procédez comme suit :

  1. Démarrez l'application Terminal et accédez au répertoire Java Home qui se trouve généralement sur /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home, à moins que vous n'ayez installé l'ensemble JDK ou défini la variable d'environnement JAVA_HOME.

  2. Exécutez la commande suivante. (Il se peut que vous souhaitiez utiliser la commande sudo Terminal, que les administrateurs utilisent pour exécuter des commandes en tant qu'utilisateurs différents, par exemple root).

    bin/keytool -importcert -keystore cacerts -alias <certificate name>  -file <path to certificate file>

Pour plus d'informations sur l'installation des certificats approuvés, consultez la documentation de votre environnement Java Runtime.

Sélectionner des variables et des paramètres d'entrée

Si la table que vous utilisez comporte des variables ou des paramètres requis ou facultatifs, la boîte de dialogue Variables et paramètres d'entrée s'ouvre.

  • Les variables et les paramètres requis affichent leur valeur actuelle ou la valeur *Requis.

  • Les variables et les paramètres facultatifs affichent leur valeur actuelle ou sont laissés vides.

  • La variable est demandée lorsque le classeur est ouvert en sélectionnant la case à cocher sous Invite.

Sélectionnez une variable ou un paramètre, puis affectez-lui une valeur. Répétez cette opération pour chaque valeur nécessaire et pour toute valeur optionnelle que vous souhaitez inclure, puis sélectionnez OK.

Remarque : vous pouvez utiliser les invites SAP HANA basées sur les requêtes SQL.

Prise en charge de l'authentification unique (SSO) pour SAP HANA

Lorsque SAP HANA est configuré pour prendre en charge l'authentification unique (SSO), après vous être connecté au serveur SAP HANA, vous pouvez publier des sources de données et des classeurs sur Tableau Server, sans avoir à saisir votre nom d'utilisateur et votre mot de passe. Et vous pouvez publier une source de données ou un classeur de manière à ce que d'autres utilisateurs SSO puissent accéder aux sources de données et aux classeurs publiés sans avoir à saisir leurs noms d'utilisateur et mots de passe.

Pour utiliser l'authentification SSO, vous devez publier les sources de données et les classeurs sur Tableau Server avec l'authentification Informations d'identification du Viewer . Pour activer l'authentification Informations d'identification du Viewer , vous devez vous connecter à SAP HANA en utilisant l'authentification Windows sur un ordinateur Windows ou Kerberos sur un Mac. Pour plus d'informations, consultez Publier sur le serveur.

Important : Votre environnement doit être correctement configuré pour prendre en charge SSO pour SAP HANA:

Connexion au serveur

Lorsque l'authentification SSO est configurée dans votre environnement, pour vous connecter à SAP HANA, entrez simplement le nom du serveur, sélectionnez Utiliser l'authentification Windows sur un ordinateur Windows ou Kerberos puis cliquez sur Connexion.

Publier sur le serveur

Dans un environnement SSO, les utilisateurs n'ont pas à saisir leurs informations d'identification pour accéder une source de données ou à un classeur si vous les publiez sur Tableau Server avec le mode d'authentification correct.

Pour activer SSO lorsque vous publiez une source de données ou un classeur sur Tableau Server, prenez en compte les étapes suivantes :

  1. Sélectionnez Serveur> Publier la source de données ou Serveur > Publier le classeur.
  2. Sous Sources de données, cliquez sur Modifier.

  3. Dans la boîte de dialogue Gérer les sources de données, suivez la procédure suivante :

    1. Sélectionnez le type de publication : Intégré dans le classeur ou Publié séparément.

    2. Sélectionnez Données d'authentification de la visionneuse pour l'Authentification.

  4. Cliquez sur Publier.

Comment actualiser les extraits HANA lorsque vous utilisez SSO

Lorsque vous utilisez l'authentification unique (SSO) pour vous connecter à SAP HANA, en raison des restrictions d'authentification, vous ne pouvez pas programmer une actualisation d'extrait lorsque vous publiez la source de données ou le classeur sur un serveur. Vous pouvez toutefois utiliser l'utilitaire Tableau Data Extract pour automatiser la tâche d'actualisation de l'extrait.

Par exemple, la commande suivante actualise un extrait SAP HANA appelé "mydatasource" qui a été publié sur Tableau Server. Cette commande spécifie ce qui suit :

  • Nom de votre serveur Tableau Server

  • Nom de la source de données à actualiser

C:\Program Files\Tableau\Tableau 10.2\bin>tableau refreshextract --server https://mytableauserver --datasource mydatasource

Pour plus d'informations sur l'utilitaire, consultez Utilitaire de ligne de commande Tableau Data Extract.

Conseils de performance

Vous pouvez améliorer vos performances en activant l’une ou l’autre de ces fonctionnalités :

  • Liaison de paramètres de requête
  • Mise en cache de métadonnées partagées

Les sections suivantes décrivent comment utiliser ces fonctionnalités.

Utiliser des variables de liaison

Tableau peut utiliser des variables de liaison pour vos requêtes SAP HANA. Elles amélioreront les performances :

  • Pour les requêtes — HANA peut compiler une requête une fois et l’exécuter plusieurs fois.
  • Pour les déploiements HANA distribués — Les requêtes paramétrées sont acheminées de façon optimale vers le nœud approprié.

Pour activer cette fonctionnalité, votre administrateur Tableau Server peut ajouter la fonctionnalité CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER dans un fichier TDC.

Remarques : cette fonctionnalité nécessite Tableau 2018.3 ou ultérieur.
Malgré son nom, CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER peut être utilisé avec JDBC ainsi qu’avec ODBC.

Utiliser le cache de métadonnées partagé

Tableau s’appuie fortement sur les métadonnées SAP HANA, qui, de leur côté, peuvent être complexes, et donc difficiles (lentes) à récupérer.

Tableau prend en charge un cache de métadonnées partagé. Dans de nombreux cas, et en particulier avec l'authentification unique (SSO), il peut être utile de partager un cache de métadonnées entre les utilisateurs de la base de données. Les performances en seront améliorées.

Lorsque Tableau partage le cache de métadonnées, ces énoncés sont vrais :

  • Les métadonnées de table et/ou de colonne sont mises en cache. (Les valeurs mises en cache sont basées sur l’autorisation du premier utilisateur d’accéder aux métadonnées.)
  • Le cache de métadonnées peut être partagé entre des connexions identiques dans Tableau.
  • Le cache de métadonnées est distribué dans un cluster à haute disponibilité (HA).

Un risque possible : si vous avez développé un processus où différents noms de colonne s’affichent en fonction de l’utilisateur/du groupe, un utilisateur peut voir trop peu ou trop de colonnes.

Pour activer cette fonctionnalité, votre administrateur Tableau Server peut ajouter ces fonctionnalités à l’aide des commandes TSM suivantes :

  • tsm configuration set -k enable_metadatacache -v shared --force-keys
  • tsm pending-changes apply

Remarque : cette fonctionnalité nécessite Tableau 2019.2 ou ultérieur. Pour en savoir plus sur les fichiers TSM, consultez Présentation de Tableau Services Manager.

Utiliser la collection de métadonnées de colonnes

Tableau prend en charge la collection de métadonnées de colonnes, ce qui entraîne d'importantes améliorations du temps de chargement de certaines vues.

Lorsque Tableau lit les métadonnées de colonne pour une table ou une vue, elle utilise une requête préparée sur la table par défaut. C’est généralement l’option la plus précise, mais elle peut ne pas être la plus efficace.

Vous pouvez sinon utiliser la collection de métadonnées de colonnes. Autrement dit, vous pouvez désactiver les métadonnées de requête préparées à l’aide d’un fichier TDC. Dans ce cas, Tableau utilise l’API ODBC, SQLColumns. Bien que cette méthode soit plus rapide, elle peut ne pas être aussi précise. C’est pourquoi vous devriez utiliser cette option avec prudence et seulement si elle semble être une approche adaptée à vos données.

L’utilisation de métadonnées de colonnes via SQLColumns est activée à l’aide de ces fonctionnalités :

  • CAP_ODBC_METADATA_SUPPRESS_EXECUTED_QUERY
  • CAP_ODBC_METADATA_SUPPRESS_PREPARED_QUERY

Remarque : pour appliquer ces fonctionnalités à des tables temporaires, vous devez installer Tableau Server 2019.3.6 ou ultérieur. Ensuite, vous pouvez ajouter ces capacités au fichier TDC.

Exemple de TDC pour SAP HANA

Votre fichier TDC peut se présenter comme dans l'exemple suivant. Dans la plupart des cas, vous n'aurez pas besoin d'autres fonctionnalités. En particulier, assurez-vous d’éviter des fonctionnalités telles que CAP_ODBC_METADATA_SUPPRESS_SQLPRIMARYKEYS_API et CAP_ODBC_METADATA_SUPPRESS_SQLFORIEGNKEYS_API. Ces dernières peuvent accélérer le temps de connexion initial, mais nous amènent à générer des requêtes moins efficaces par la suite.

<?xml version='1.0' encoding='utf-8' ?>
<connection-customization class='saphana' enabled='true' version='9.3'>
<vendor name='saphana' />
<driver name='saphana' />
<customizations>
<customization name='CAP_ODBC_QUERY_USE_PREPARE_PARAMETER_MARKER' value='yes' />
</customizations>
</connection-customization>

Pour plus d’informations sur l’utilisation des fichiers TDC, consultez Personnalisation et optimisation des connexions . Consultez également l’article de la Base de connaissances intitulé Utilisation d’un fichier TDC avec Tableau Server.

Important : assurez-vous que enabled=’true’ fait partie de votre ligne connection-customization.

Voir également

Merci de vos commentaires !