Configuration de la source de données ODBC (Linux)

Pour que les sources de données ODBC fonctionnent avec Essbase sous Linux, vous configurez principalement odbc.ini dans le domaine du serveur Essbase.

Prérequis

Avant de commencer, notez l'emplacement des fichiers suivants sur le domaine du serveur Essbase :

  • Pour Linux uniquement, odbc.ini : dans Essbase 21c, odbc.ini se trouve dans :

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • Bibliothèques de pilotes ODBC - situées dans

    <Essbase Product Home>/modules/

Si vous configurez Teradata en tant que source, procédez comme suit :

  1. Téléchargez le client Teradata Tools and Utilities à l'adresse https://downloads.teradata.com/

  2. Installez le client Teradata sur l'ordinateur serveur Essbase.

Configuration de la source de données ODBC

Pour configurer la source de données ODBC, vous devez d'abord modifier odbc.ini (ou .odbc.ini, si elle est masquée). Il s'agit du fichier d'informations de configuration de source de données ODBC situé sur le domaine du serveur Essbase.

  1. Ouvrez odbc.ini dans un éditeur de texte.

  2. Dans la section étiquetée

    [ODBC Data Sources]

    Ajoutez/identifiez votre source à l'aide de la syntaxe suivante :

    <DSN name>=<Driver name>

    où :

    • Nom DSN = nom que vous choisissez pour identifier la connexion ODBC à la source de données
    • Nom du pilote = Nom du pilote ODBC à utiliser pour cette connexion

    Par exemple, pour ajouter une source DB2, ajoutez :

    [ODBC Data Sources]
    TBC_DB2=Oracle 8.0 DB2 Wire Protocol

    Dans cette version, Oracle Database et toutes les autres versions du SGBDR incluent la version 8.0 du pilote.

    Les exemples d'entrées suivants incluent DB2, SQL Server, MySQL, Oracle Database et Teradata. Pour Teradata, voir les deux dernières lignes (la syntaxe diffère des autres sources).

    [ODBC Data Sources]
    TBC_DB2=Oracle 8.0 DB2 Wire Protocol
    TBC_SQL=Oracle 8.0 SQL Server Wire Protocol
    TBC_MYSQL=Oracle 8.0 MySQL Wire Protocol
    TBC_ORA=Oracle 8.0 Oracle Wire Protocol
    TBC_ORA_DBAAS=Oracle 8.0 Oracle Wire Protocol
    TBC_ORA_ADW=Oracle 8.0 Oracle Wire Protocol
    Teradata=tdataodbc_sb64.so
    $TELAPI$10.xx.xxx.211=tdataodbc_sb64.so
  3. Pour chaque nom de DSN que vous avez ajouté dans la section [ODBC Data Sources], ajoutez-y une section indiquant le chemin du pilote (obligatoire), la description (facultative) et les détails de l'hôte (obligatoire). L'exemple suivant inclut des sections pour différentes sources.

    [TBC_DB2]
    #Example for DB2
    Driver=Ardb228.so
    Description=Oracle 8.0 DB2 Wire Protocol Driver
    Database=TBC
    IpAddress=myhost.example.com
    TcpPort=50000
    
    [TBC_SQL]
    #Example for SQL Server
    Driver=ARsqls28.so
    Description=Oracle 8.0 SQL Server Wire Protocol
    HostName=myhost.example.com
    PortNumber=1433
    Database=TBC
    EnableQuotedIdentifiers=1
    
    [TBC_MYSQL]
    #Example for MySQL
    Driver=ARmysql28.so
    Description=Oracle 8.0 MySQL Wire Protocol
    Database=tbc
    HostName=myhost.example.com
    PortNumber=3306
    
    [TBC_ORA]
    #Example for standalone Oracle Database
    Driver=ARora28.so
    Description=Oracle 8.0 Oracle Wire Protocol
    EnableNcharSupport=1
    EncryptionLevel=1
    DataIntegrityLevel=1
    PortNumber=1521
    SID=orcl
    HostName=myhost.example.com
    
    [TBC_ORA_DBAAS]
    #Example for Oracle DBaaS
    Driver=ARora28.so
    Description=Oracle 8.0 Oracle Wire Protocol
    DataIntegrityLevel=1
    EncryptionLevel=1
    EncryptionTypes=AES256
    DataIntegrityTypes=SHA1
    HostName=192.0.2.20
    PortNumber=1521
    EnableNcharSupport=1
    ServiceName=ORCL.esscs.mydb.myhost.example.com
    
    [TBC_ORA_ADW]
    #Example for Oracle Database with TLS/SSL security
    Driver=ARora28.so
    Description=Oracle 8.0 Oracle Wire Protocol
    EnableNcharSupport=1
    EncryptionLevel=1
    DataIntegrityLevel=1
    EncryptionMethod=1
    AuthenticationMethod=1
    CryptoProtocolVersion=TLSv1.2,TLSv1.1,TLSv1
    ValidateServerCertificate=1
    TNSNamesFile=/scratch/username/oracle_home/network/admin/tbc_ora_adw/tnsnames.ora
    ServerName=TBC_ORA_ADW
    Truststore=/scratch/username/oracle_home/network/admin/tbc_ora_adw/cwallet.sso
    Keystore=/scratch/username/oracle_home/network/admin/tbc_ora_adw/cwallet.sso
    
    [Teradata]
    Driver=/opt/teradata/client/16.20/lib64/tdataodbc_sb64.so
    Description=NCR 3600 running Teradata V2R6.2
    DBCName=192.xx.xx.110
    astUser=
    Username=xxxxxx
    Password=xxxxxx
    Database=TBC
    DefaultDatabase=TBC
    NoScan=no
    MechanismName=TD2
    
    [$TELAPI$192.0.2.110]
    Driver=/opt/teradata/client/16.20/lib64/tdataodbc_sb64.so
    Description=NCR 3600 running Teradata V2R6.2
    DBCName=192.0.2.110
    astUser=
    Username=xxxxxx
    Password=xxxxxx
    Database=TBC
    DefaultDatabase=TBC
    NoScan=no
    MechanismName=TD2

    Remarques :

    L'exemple TBC_ORA_ADW est configuré pour Autonomous AI Lakehouse avec la sécurité TLS/SSL activée. Pour toute configuration TLS/SSL (y compris Autonomous AI Lakehouse), vous devez indiquer le chemin du fichier de clés et du portefeuille dans le cadre de la configuration. Le fichier de clés d'accès et le portefeuille (et le fichier de configuration des noms TNS) se trouvent dans <Oracle Home>/network/admin. Si vous utilisez Autonomous AI Lakehouse, vous devez télécharger le portefeuille d'Autonomous AI Lakehouse vers <Oracle Home>/network/admin sur le serveur Essbase.

    Remarques :

    Pour Teradata, DBCName n'est pas identique à DBName utilisé dans les chaînes de connexion.

    Remarques :

    Pour SQL Server, veillez à activer les identificateurs entre guillemets comme indiqué dans l'exemple.

Teradata uniquement - Définir des variables d'environnement

Si vous configurez Teradata en tant que source, vous devez également modifier le fichier de configuration du serveur Essbase, <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfg.

  1. Accédez à essbase.cfg et ouvrez-le dans un éditeur de texte.

  2. Ajoutez des variables LD_LIBRARY_PATH pour indiquer la liaison des bibliothèques client Teradata :

    env:LD_LIBRARY_PATH /opt/teradata/client/16.20/bin
    env:LD_LIBRARY_PATH /opt/teradata/client/16.20/lib64
    env:LD_LIBRARY_PATH /opt/teradata/client/16.20/tbuild
    env:LD_LIBRARY_PATH /opt/teradata/client/16.20/msg
    env:LD_LIBRARY_PATH /opt/teradata/client/16.20/tbuild/tptapi
  3. Ajoutez la ligne suivante à la fin de essbase.cfg pour configurer l'authentification :

    env:LD_PRELOAD /usr/lib64/libgssapi_krb5.so:/usr/lib64/libkrb5.so:/usr/lib64/libk5crypto.so:/usr/lib64/libkrb5support.so
  4. Enregistrez essbase.cfg.

  5. Arrêtez et redémarrez le serveur Essbase.

    1. Accédez au répertoire des outils de domaine, <Domain Root>/<Domain Name>/esstools/bin.

    2. Arrêtez et redémarrez les services Essbase en exécutant respectivement ./stop.sh et ./start.sh.

Teradata Only - Configurer odbcinst.ini

Si vous configurez Teradata en tant que source, vous devez également modifier le fichier odbcinst.ini avec des informations sur le pilote ODBC pour Teradata.

  1. Accédez à <Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/ et ouvrez odbcinst.ini dans un éditeur de texte.

  2. Ajoutez des informations sur le pilote ODBC Teradata :

    Teradata=Installed
    [Teradata]
    Driver=/opt/teradata/client/16.20/odbc_64/lib/tdataodbc_sb64.so
    APILevel=CORE
    ConnectFunctions=YYY
    DriverODBCVer=3.51
    SQLLevel=1
  3. Enregistrez odbcinst.ini.