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をソースとして構成している場合は、次を実行します。
-
https://downloads.teradata.com/から、Teradata Tools and Utilitiesクライアントをダウンロードします。
-
TeradataクライアントをEssbaseサーバー・マシンにインストールします。
ODBCデータ・ソースの構成
ODBCデータ・ソースを構成するには、まず、odbc.ini
(非表示設定の場合は.odbc.ini
)を編集することから始めます。これは、Essbaseサーバー・ドメインに配置されたODBCデータ・ソース構成情報ファイルです。
-
テキスト・エディタで、
odbc.ini
を開きます。 -
次のラベルが付いたセクションで、次の操作を実行します。
[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
-
[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
にウォレットをダウンロードする必要があります。ノート:
SQL Serverの場合は、例で示すように引用符で囲まれた識別子を必ず有効にしてください。
Teradataのみ - 環境変数の設定
Teradataをソースとして構成している場合、さらにEssbaseサーバー構成ファイル<Domain Root>/<Domain Name>/config/fmwconfig/essconfig/essbase/essbase.cfg
を編集する必要があります。
-
essbase.cfg
に移動し、テキスト・エディタで開きます。 -
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
-
essbase.cfg
の最後に次の行を追加して認証を構成します。env:LD_PRELOAD /usr/lib64/libgssapi_krb5.so:/usr/lib64/libkrb5.so:/usr/lib64/libk5crypto.so:/usr/lib64/libkrb5support.so
-
essbase.cfg
を保存します。 -
Essbaseサーバーを停止して再起動します。
-
ドメイン・ツール・ディレクトリ
<Domain Root>/<Domain Name>/esstools/bin
に移動します。 -
./stop.sh
と./start.sh
をそれぞれ実行して、Essbaseサービスを停止して再起動します。
-
Teradataのみ - odbcinst.iniの構成
Teradataをソースとして構成している場合、さらにTeradataのODBCドライバに関する情報でodbcinst.ini
ファイルを編集する必要があります。
-
<Oracle Home>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/
に移動し、odbcinst.ini
をテキスト・エディタで開きます。 -
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
-
odbcinst.ini
を保存します。