配置 ODBC 数据源 (Linux)
要使 ODBC 数据源与 Linux 上的 Essbase 配合使用,您主要需要在 Essbase 服务器域中配置 odbc.ini。
Prerequisites
开始之前,请记下这些文件在 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 名称 = 您选择用于标识与数据源的 ODBC 连接的名称
- 驱动程序名称 = 要用于此连接的 ODBC 驱动程序的名称
例如,要添加 DB2 源,请添加:
[ODBC Data Sources] TBC_DB2=Oracle 8.0 DB2 Wire Protocol在此发行版中,Oracle Database 和所有其他 RDBMS 版本包括驱动程序版本 8.0。
以下示例条目包括 DB2、SQL Server、MySQL、Oracle Database 和 Teradata。对于 Teradata,请参见最后两行(语法与其他源不同)。
[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 -
对于您在
[ODBC Data Sources]部分中添加的每个 DSN 名称,添加一个用于指定驱动程序路径(必需)、说明(可选)和主机详细信息(必需)的节。以下示例包括各种源的节。[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注意:
TBC_ORA_ADW 示例是为启用了 TLS/SSL 安全性的 Autonomous AI Lakehouse 配置的。对于任何 TLS/SSL 配置(包括 Autonomous AI Lakehouse ),您必须在配置过程中提供密钥库和 wallet 的路径。密钥库和 wallet(和 TNS 名称配置文件)位于<Oracle Home>/network/admin中。如果使用 Autonomous AI Lakehouse ,则必须将 wallet 从 Autonomous AI Lakehouse 下载到 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。