ODBC-Datenquelle (Linux) konfigurieren

Damit ODBC-Datenquellen mit Essbase unter Linux funktionieren, konfigurieren Sie in erster Linie odbc.ini in der Essbase-Serverdomain.

Voraussetzungen

Notieren Sie sich zunächst den Speicherort dieser Dateien in der Essbase-Serverdomain:

  • Nur für Linux: odbc.ini - In Essbase 21c befindet sich odbc.ini in:

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • ODBC-Treiberbibliotheken - befinden sich in

    <Essbase Product Home>/modules/

Wenn Sie Teradata als Quelle konfigurieren, gehen Sie wie folgt vor:

  1. Teradata Tools and Utilities-Client von https://downloads.teradata.com/ herunterladen

  2. Installieren Sie den Teradata-Client auf dem Essbase-Serverrechner.

ODBC-Datenquelle konfigurieren

Um Ihre ODBC-Datenquelle zu konfigurieren, bearbeiten Sie zunächst odbc.ini (oder .odbc.ini, falls ausgeblendet). Dies ist die Konfigurationsinformationsdatei der ODBC-Datenquelle, die sich in der Essbase-Serverdomain befindet.

  1. Öffnen Sie odbc.ini in einem Texteditor.

  2. In dem Abschnitt mit der Bezeichnung

    [ODBC Data Sources]

    Ihre Quelle mit der folgenden Syntax hinzufügen/identifizieren:

    <DSN name>=<Driver name>

    Dabei gilt:

    • DSN-Name = Ein Name, mit dem Sie die ODBC-Verbindung zur Datenquelle identifizieren
    • Treibername = Der Name des für diese Verbindung zu verwendenden ODBC-Treibers

    Um beispielsweise eine DB2-Quelle hinzuzufügen, fügen Sie Folgendes hinzu:

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

    In diesem Release enthalten Oracle Database und alle anderen RDBMS-Versionen die Treiberversionen 8.0.

    Die folgenden Beispieleinträge umfassen DB2, SQL Server, MySQL, Oracle Database und Teradata. Bei Teradata sehen Sie die letzten beiden Zeilen (die Syntax variiert von den anderen Quellen).

    [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. Fügen Sie für jeden DSN-Namen, den Sie im Abschnitt [ODBC Data Sources] hinzugefügt haben, einen Abschnitt hinzu, in dem der Treiberpfad (erforderlich), die Beschreibung (optional) und die Hostdetails (erforderlich) angegeben werden. Das folgende Beispiel enthält Abschnitte für verschiedene Quellen.

    [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

    Hinweis:

    Das Beispiel TBC_ORA_ADW ist für Autonomous AI Lakehouse mit aktivierter TLS/SSL-Sicherheit konfiguriert. Bei TLS/SSL-Konfigurationen (einschließlich Autonomous AI Lakehouse) müssen Sie im Rahmen der Konfiguration den Pfad zu Keystore und Wallet angeben. Der Keystore und das Wallet (und die Konfigurationsdatei für TNS-Namen) befinden sich in <Oracle Home>/network/admin. Wenn Sie Autonomous AI Lakehouse verwenden, müssen Sie das Wallet von Autonomous AI Lakehouse auf <Oracle Home>/network/admin auf dem Essbase-Server herunterladen.

    Hinweis:

    Bei Teradata ist DBCName nicht identisch mit DBName, das in Verbindungszeichenfolgen verwendet wird.

    Hinweis:

    Stellen Sie für SQL Server sicher, dass Sie Bezeichner in Anführungszeichen aktivieren, wie im Beispiel gezeigt.

Nur Teradata - Umgebungsvariablen festlegen

Wenn Sie Teradata als Quelle konfigurieren, müssen Sie zusätzlich die Essbase-Serverkonfigurationsdatei <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfg bearbeiten.

  1. Navigieren Sie zu essbase.cfg, und öffnen Sie es in einem Texteditor.

  2. Fügen Sie LD_LIBRARY_PATH-Variablen hinzu, um die Loation von Teradata-Clientbibliotheken anzugeben:

    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. Fügen Sie die folgende Zeile am Ende von essbase.cfg hinzu, um die Authentifizierung zu konfigurieren:

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

  5. Stoppen Sie den Essbase-Server, und starten Sie ihn neu.

    1. Navigieren Sie zum Verzeichnis der Domaintools, <Domain Root>/<Domain Name>/esstools/bin.

    2. Stoppen Sie die Essbase-Services, und starten Sie sie neu, indem Sie ./stop.sh bzw. ./start.sh ausführen.

Nur Teradata - odbcinst.ini konfigurieren

Wenn Sie Teradata als Quelle konfigurieren, müssen Sie zusätzlich die Datei odbcinst.ini mit Informationen zum ODBC-Treiber für Teradata bearbeiten.

  1. Navigieren Sie zu <Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/, und öffnen Sie odbcinst.ini in einem Texteditor.

  2. Fügen Sie Informationen zum Teradata ODBC-Treiber hinzu:

    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. Speichern Sie odbcinst.ini.