ODBCデータ・ソースの構成(Linux)

ODBCデータ・ソースをLinux上のEssbaseと連携させるには、まず、Essbaseサーバー・ドメインでodbc.iniを構成します。

前提条件

作業の開始前に、次のファイルのEssbaseサーバー・ドメイン上の場所をメモしておきます。

  • Linuxの場合のみ: odbc.ini - Essbase 21cでは、odbc.iniは次の場所にあります。

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • ODBCドライバのライブラリ - 次の場所にあります。

    <Essbase Product Home>/modules/

Teradataをソースとして構成している場合は、次を実行します。

  1. https://downloads.teradata.com/から、Teradata Tools and Utilitiesクライアントをダウンロードします。

  2. TeradataクライアントをEssbaseサーバー・マシンにインストールします。

ODBCデータ・ソースの構成

ODBCデータ・ソースを構成するには、まず、odbc.ini (非表示設定の場合は.odbc.ini)を編集することから始めます。これは、Essbaseサーバー・ドメインに配置されたODBCデータ・ソース構成情報ファイルです。

  1. テキスト・エディタで、odbc.iniを開きます。

  2. 次のラベルが付いたセクションで、次の操作を実行します。

    [ODBC Data Sources]

    次の構文を使用して、目的のソースを追加/識別します。

    <DSN name>=<Driver name>

    要素の説明

    • DSN name = データ・ソースへのODBC接続の識別のために選択した名前
    • Driver name = この接続に使用するODBCドライバの名前

    たとえば、DB2ソースを追加するには、次の項目を追加します。

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

    このリリースでは、Oracle Databaseはドライバ・バージョン8.0を使用し、その他すべてのRDBMSはドライバ・バージョン7.1を使用します。

    次のエントリ例には、DB2、SQL Server、MySQL、Oracle DatabaseおよびTeradataが含まれています。Teradataについては、最後の2行を参照してください(構文は、他のソースと異なります)。

    [ODBC Data Sources]
    TBC_DB2=Oracle 7.1 DB2 Wire Protocol
    TBC_SQL=Oracle 7.1 SQL Server Wire Protocol
    TBC_MYSQL=Oracle 7.1 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. [ODBC Data Sources]セクションに追加したDSN名ごとに、ドライバ・パス(必須)、説明(オプション)およびホスト詳細(必須)を指定するためのセクションを追加します。次の例には、各種ソースのためのセクションが含まれています。

    [TBC_DB2]
    #Example for DB2
    Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/Ardb227.so
    Description=Oracle 7.1 DB2 Wire Protocol Driver
    Database=TBC
    IpAddress=myhost.example.com
    TcpPort=50000
    
    [TBC_SQL]
    #Example for SQL Server
    Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/ARsqls27.so
    Description=Oracle 7.1 SQL Server Wire Protocol
    HostName=myhost.example.com
    PortNumber=1433
    Database=TBC
    EnableQuotedIdentifiers=1
    
    [TBC_MYSQL]
    #Example for MySQL
    Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/ARmysql27.so
    Description=Oracle 7.1 MySQL Wire Protocol
    Database=tbc
    HostName=myhost.example.com
    PortNumber=3306
    
    [TBC_ORA]
    #Example for standalone Oracle Database
    Driver=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/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=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/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=/scratch/username/oracle_home/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/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

    ノート:

    TBC_ORA_ADWの例は、TLS/SSLセキュリティが有効化されているAutonomous Data Warehouse用に構成されています。あらゆるTLS/SSL構成(Autonomous Data Warehouseを含む)に対して、構成の一部としてキーストアとウォレットへのパスを指定する必要があります。キーストアとウォレット(およびTNS名の構成ファイル)は、<Oracle Home>/network/adminに配置されています。Autonomous Data Warehouseを使用する場合は、Autonomous Data WarehouseからEssbaseサーバーの<Oracle Home>/network/adminにウォレットをダウンロードする必要があります。

    ノート:

    Teradataの場合、DBCNameは、接続文字列で使用したDBNameとは異なります。

    ノート:

    SQL Serverの場合は、例で示すように引用符で囲まれた識別子を必ず有効にしてください。

Teradataのみ - 環境変数の設定

Teradataをソースとして構成している場合、さらにEssbaseサーバー構成ファイル<Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfgを編集する必要があります。

  1. essbase.cfgに移動し、テキスト・エディタで開きます。

  2. LD_LIBRARY_PATH変数を追加して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. essbase.cfgの最後に次の行を追加して認証を構成します。

    env:LD_PRELOAD /usr/lib64/libgssapi_krb5.so:/usr/lib64/libkrb5.so:/usr/lib64/libk5crypto.so:/usr/lib64/libkrb5support.so
  4. essbase.cfgを保存します。

  5. Essbaseサーバーを停止して再起動します。

    1. ドメイン・ツール・ディレクトリ<Domain Root>/<Domain Name>/esstools/binに移動します。

    2. ./stop.sh./start.shをそれぞれ実行して、Essbaseサービスを停止して再起動します。

Teradataのみ - odbcinst.iniの構成

Teradataをソースとして構成している場合、さらにTeradataのODBCドライバに関する情報でodbcinst.iniファイルを編集する必要があります。

  1. <Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/に移動し、odbcinst.iniをテキスト・エディタで開きます。

  2. 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. odbcinst.iniを保存します。