Configurare l'origine dati ODBC (Linux)

Per far funzionare le origini ODBC dei dati con Essbase su Linux, configurare principalmente odbc.ini nel dominio del server Essbase.

Prerequisiti

Prima di iniziare, prendere nota della posizione di questi file nel dominio del server Essbase:

  • Solo per Linux, odbc.ini - In Essbase 21c, odbc.ini si trova in:

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • Librerie di driver ODBC - situate in

    <Essbase Product Home>/modules/

Se si configura Teradata come origine, effettuare le operazioni riportate di seguito.

  1. Scarica il client Teradata Tools and Utilities da https://downloads.teradata.com/

  2. Installare il client Teradata nel computer del server Essbase.

Configurare l'origine ODBC dei dati

Per configurare l'origine dati ODBC, iniziare modificando odbc.ini (o .odbc.ini, se nascosto). File di informazioni di configurazione dell'origine dati ODBC situato nel dominio del server Essbase.

  1. Aprire odbc.ini in un editor di testo.

  2. Nella sezione contrassegnata

    [ODBC Data Sources]

    aggiungere/identificare l'origine utilizzando la seguente sintassi:

    <DSN name>=<Driver name>

    dove

    • Nome DSN = Nome scelto per identificare la connessione ODBC all'origine dei dati
    • Nome driver = Il nome del driver ODBC da utilizzare per questa connessione

    Ad esempio, per aggiungere un'origine DB2, aggiungere:

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

    In questa release, Oracle Database e tutte le altre versioni RDBMS includono le versioni dei driver 8.0.

    Le voci di esempio riportate di seguito includono DB2, SQL Server, MySQL, Oracle Database e Teradata. Per Teradata, vedere le ultime due righe (la sintassi varia dalle altre fonti).

    [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. Per ogni nome DSN aggiunto nella sezione [ODBC Data Sources], aggiungere una sezione specificando il percorso del driver (obbligatorio), la descrizione (facoltativo) e i dettagli dell'host (obbligatorio). L'esempio seguente include sezioni per varie origini.

    [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

    Nota

    L'esempio TBC_ORA_ADW è configurato per Autonomous AI Lakehouse con la sicurezza TLS/SSL abilitata. Per qualsiasi configurazione TLS/SSL (incluso Autonomous AI Lakehouse), è necessario fornire il percorso al keystore e al wallet come parte della configurazione. Il keystore e il wallet (e il file di configurazione dei nomi TNS) si trovano in <Oracle Home>/network/admin. Se si utilizza Autonomous AI Lakehouse, è necessario scaricare il wallet da Autonomous AI Lakehouse a <Oracle Home>/network/admin nel server Essbase.

    Nota

    Per Teradata, DBCName non è uguale a DBName utilizzato nelle stringhe di connessione.

    Nota

    Per SQL Server, assicurarsi di abilitare gli identificativi tra virgolette come mostrato nell'esempio.

Solo Teradata - Imposta variabili di ambiente

Se si configura Teradata come origine, è inoltre necessario modificare il file di configurazione del server Essbase, <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfg.

  1. Passare a essbase.cfg e aprirlo in un editor di testo.

  2. Aggiungere le variabili LD_LIBRARY_PATH per specificare la loazione delle librerie 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. Aggiungere la riga seguente alla fine di essbase.cfg per configurare l'autenticazione:

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

  5. Arrestare e riavviare il server Essbase.

    1. Passare alla directory degli strumenti del dominio, <Domain Root>/<Domain Name>/esstools/bin.

    2. Arrestare e riavviare i servizi Essbase eseguendo rispettivamente ./stop.sh e ./start.sh.

Solo Teradata - Configura odbcinst.ini

Se si configura Teradata come origine, è inoltre necessario modificare il file odbcinst.ini con informazioni sul driver ODBC per Teradata.

  1. Passare a <Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/ e aprire odbcinst.ini in un editor di testo.

  2. Aggiungi informazioni sul driver Teradata ODBC:

    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. Salvare odbcinst.ini.