Configurar a origem de dados ODBC (Linux)

Para que as origens de dados ODBC funcionem com o Essbase no Linux, você configura principalmente odbc.ini no domínio do servidor do Essbase.

Pré-requisitos

Antes de começar, anote o local desses arquivos no domínio do servidor do Essbase:

  • Somente para Linux, odbc.ini - No Essbase 21c, odbc.ini está localizado em:

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • Bibliotecas de driver ODBC - localizadas em

    <Essbase Product Home>/modules/

Se você estiver configurando o Teradata como uma origem, faça o seguinte:

  1. Faça download do cliente Teradata Tools and Utilities em https://downloads.teradata.com/

  2. Instale o cliente Teradata na máquina do servidor do Essbase.

Configurar a origem ODBC dos dados

Para configurar sua origem de dados ODBC, comece editando odbc.ini (ou .odbc.ini, se estiver oculto). Este é o arquivo de informações de configuração da origem de dados ODBC localizado no domínio do servidor do Essbase.

  1. Abra o odbc.ini em um editor de texto.

  2. Na seção rotulada

    [ODBC Data Sources]

    adicione/identifique sua origem usando a seguinte sintaxe:

    <DSN name>=<Driver name>

    em que

    • DSN name = Um nome que você escolhe para identificar a conexão ODBC com a fonte de dados
    • Nome do driver = O nome do driver ODBC a ser usado para esta conexão

    Por exemplo, para adicionar uma origem DB2, adicione:

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

    Nesta versão, o Oracle Database e todas as outras versões do RDBMS incluem versões do driver 8.0.

    As entradas de exemplo a seguir incluem DB2, SQL Server, MySQL, Oracle Database e Teradata. Para Teradata, veja as duas últimas linhas (a sintaxe varia de acordo com as outras fontes).

    [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. Para cada nome DSN que você adicionou na seção [ODBC Data Sources], adicione uma seção para ela especificando o caminho do driver (obrigatório), a descrição (opcional) e os detalhes do host (obrigatório). O exemplo a seguir inclui seções para várias origens.

    [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

    Observação:

    O exemplo TBC_ORA_ADW é configurado para o Autonomous AI Lakehouse com a segurança TLS/SSL ativada. Para quaisquer configurações de TLS/SSL (incluindo o Autonomous AI Lakehouse), você deve fornecer o caminho para o armazenamento de chaves e a wallet como parte da configuração. O armazenamento de chaves e a wallet (e o arquivo de configuração de nomes TNS) estão localizados em <Oracle Home>/network/admin. Se você usar o Autonomous AI Lakehouse, deverá fazer download da wallet do Autonomous AI Lakehouse para <Oracle Home>/network/admin no servidor do Essbase.

    Observação:

    Para o Teradata, DBCName não é o mesmo que DBName usado em strings de conexão.

    Observação:

    Para o SQL Server, ative os identificadores com aspas conforme mostrado no exemplo.

Somente Teradata - Definir Variáveis de Ambiente

Se você estiver configurando o Teradata como uma origem, também precisará editar o arquivo de configuração do servidor do Essbase, <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfg.

  1. Navegue até essbase.cfg e abra-o em um editor de texto.

  2. Adicione variáveis LD_LIBRARY_PATH para especificar o loation de bibliotecas do cliente 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. Adicione a seguinte linha no final do essbase.cfg, para configurar a autenticação:

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

  5. Interrompa e reinicie o servidor do Essbase.

    1. Navegue até o diretório de ferramentas do domínio, <Domain Root>/<Domain Name>/esstools/bin.

    2. Interrompa e reinicie os serviços do Essbase executando ./stop.sh e ./start.sh, respectivamente.

Somente Teradata - Configurar odbcinst.ini

Se você estiver configurando o Teradata como uma origem, também precisará editar o arquivo odbcinst.ini com informações sobre o driver ODBC do Teradata.

  1. Navegue até <Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/ e abra odbcinst.ini em um editor de texto.

  2. Adicione informações sobre o driver 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. Salve odbcinst.ini.