升級至 Essbase 21.8 需要手動 ODBC 組態

Essbase 21.8 部署包含更新的 DataDirect ODBC 驅動程式 (版本 8.0.2)。將 Essbase 21.8 OPatch 套用至獨立的 Essbase 部署之後,您需要手動更新 ODBC 組態 (適用於 Linux 和 Windows)。

如果您是從舊版本升級至 Essbase 21.8,且需要使用 ODBC 驅動程式將外部來源資料 / 維度載入至 Essbase (如使用 ODBC 連線存取資料中所述),此問題會影響您。

附註:

當您套用 Essbase 21.8 OPatch 時,將會移除舊版的 ODBC 驅動程式版本 (例如 7.1.6 或 5.3)。Essbase 21.8 不支援它們,因此無法運作。

Essbase 21.8 僅與這些 DataDirect ODBC 驅動程式版本搭售,且僅支援下列功能:

[ODBC Drivers]
Oracle 8.1 MongoDB
Oracle 8.0 Amazon Redshift Wire Protocol
Oracle 8.0 Apache Hive Wire Protocol
Oracle 8.0 Apache Spark SQL
Oracle 8.0 DB2 Wire Protocol
Oracle 8.0 Greenplum Wire Protocol
Oracle 8.0 Informix Wire Protocol
Oracle 8.0 MySQL Wire Protocol
Oracle 8.0 Oracle Wire Protocol
Oracle 8.0 PostgreSQL Wire Protocol
Oracle 8.0 SQL Server Wire Protocol
Oracle 8.0 Sybase IQ Wire Protocol

套用 Essbase 21.8 OPatch 之後,

  • 您必須手動更新 ODBC 組態 (適用於 Linux 和 Windows)。
  • Oracle 建議您手動備份舊版 7.1.6 驅動程式的 ODBC 組態。如果您需要倒回使用這些驅動程式的舊版 Essbase

Linux 指示

開始之前,請記下 Essbase 伺服器網域上較舊的 7.1.6 驅動程式組態的位置:

  • odbc.ini,位於

    <Domain Root>/<Domain Name>/config/fmwconfig/essconfig/core
  • odbcinst.ini,位於

    <Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/odbcinst.ini
  • ODBC 驅動程式程式庫,位於

    <Essbase Product Home>/modules/
  1. 如果 Essbase 正在執行中,請依照啟動、停止及檢查伺服器中的說明停止伺服器。

  2. 建立舊版 7.1.6 驅動程式組態的備份複本:odbc.ini (必要) 和 odbcinst.ini (如果使用第三方驅動程式,例如 Teradata,則需要)。

    附註:

    為避免意外覆寫,請確保您的 7.1.6 驅動程式配置備份儲存在外部的某個位置
    <Essbase Product Home>/modules/

    範例:

    cp <Domain_Home>/config/fmwconfig/essconfig/core/odbc.ini <Oracle_HOME>/odbc.ini_orig
    cp <Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/odbcinst.ini <Oracle_HOME>/odbcinst.ini_orig
  3. 套用 Essbase 21.8 OPatch (如修正與倒回中所述)。

  4. 開啟 odbc.ini 進行編輯。

  5. 將舊的驅動程式名稱取代為新的驅動程式名稱,提供「驅動程式名稱」項目中的絕對程式庫路徑。例如 (將 Oracle_HOME 取代為系統的 Oracle_HOME 路徑):

    • 變更

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/ARsqls27.so

      to

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARsqls28.so
    • 變更

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/ARdb227.so

      to

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARdb228.so
    • 變更

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/7.1.6/lib/ARmysql27.so

      to

      Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/lib/ARmysql28.so
  6. (選用) 將舊的驅動程式說明取代為新的說明。

    • Oracle 7.1 SQL Server Wire Protocol 變更為 Oracle 8.0 SQL Server Wire Protocol
    • Oracle 7.1 DB2 Wire Protocol Driver 變更為 Oracle 8.0 DB2 Wire Protocol Driver
    • Oracle 7.1 MySQL Wire Protocol 變更為 Oracle 8.0 MySQL Wire Protocol
  7. 儲存 odbc.ini

  8. 編輯 odbcinst.ini 檔案 <Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/odbcinst.ini

    DB2 範例

    (將 Oracle_HOME 取代為系統的 Oracle_HOME 路徑):

    Driver=<Oracle_HOME>/essbase/modules/oracle.essbase.datadirect.odbc/8.0.2/Ardb228.so

    Teradata 範例

    從備份檔案 <Oracle_HOME>/odbcinst.ini_orig 複製並貼上您的 Teradata 相關項目,將 Teradata ODBC 驅動程式的相關資訊新增至 odbcinst.ini

    Teradata=Installed
    [Teradata]
    Driver=/opt/teradata/client/20.00/odbc_64/lib/tdataodbc_sb64.so
    APILevel=CORE
    ConnectFunctions=YYY
    DriverODBCVer=3.51
    SQLLevel=1
  9. 儲存 odbcinst.ini

  10. 啟動 Essbase ,如啟動、停止及檢查伺服器中所述。

附註:

如果您需要回復 Essbase 21.8 OPatch,也必須回復至備份的 odbc.ini 檔案 (以及使用第三方驅動程式 (例如 Teradata) 的 odbcinst.ini)。範例:

cd <DOMAIN_HOME>/config/fmwconfig/essconfig/core
cp odbc.ini.orig odbc.ini

Windows 操作方法

在 Windows 上,先前設定的系統 DSN (如設定 ODBC 資料來源 (Windows) 中所述) 在套用 Essbase 21.8 OPatch 之後將無法運作。您必須重新配置系統 DSN,才能使用 8.0.2 驅動程式。

  1. 如果 Essbase 正在執行中,請依照啟動、停止及檢查伺服器中的說明停止伺服器。

  2. 套用 Essbase 21.8 OPatch (如修正與倒回中所述)。

  3. Essbase Windows 伺服器上,開啟「Windows 登錄編輯器」(從「開始」功能表執行 regedit)。

  4. 瀏覽至 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI

  5. 在 ODBC.INI 上按一下滑鼠右鍵,然後選取匯出。將它另存為備份,以防您需要倒回 OPatch。例如,將組態儲存為 odbc.orig.reg

  6. 瀏覽至 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBCINST.INI

  7. 在 ODBCINST.INI 上按一下滑鼠右鍵,然後選取匯出。將它另存為備份,以防您需要倒回 OPatch。例如,將組態儲存為 odbcini.orig.reg

  8. 瀏覽至 Computer\HKEY_LOCAL_MACHINE\SOFTWARE\ODBC\ODBC.INI\ODBC Data Sources

  9. 針對名為 essbase_datasource 的項目,按一下滑鼠右鍵並選取修改

    變更

    • Oracle 7.1 SQL Server Wire Protocol

      to

      Oracle 8.0 SQL Server Wire Protocol

    • 變更

      Oracle 7.1 DB2 Wire Protocol Driver

      to

      Oracle 8.0 DB2 Wire Protocol Driver

    • 變更

      Oracle 7.1 MySQL Wire Protocol

      to

      Oracle 8.0 MySQL Wire Protocol

  10. Essbase Windows Server 上,導覽至 <ESSBASE_PRODUCT_HOME>\modules\oracle.essbase.datadirect.odbc\8.0.2

  11. 建立 ODBC802.reg 的備份複本 (例如 ODBC802_orig.reg)。

  12. 編輯 ODBC802.reg,將所有出現的 $ODBC_PATH 取代為 ODBC 驅動程式的絕對路徑,例如 C:\\Oracle\\Middleware\\Oracle_Home\\essbase\\modules\\oracle.essbase.datadirect.odbc\\

  13. 按兩下編輯過的 ODBC802.reg 檔案。這會編輯 Windows 登錄,讓 DataDirect 8.0.2 驅動程式與 Essbase 21.8 結合。

  14. 啟動 Essbase ,如啟動、停止及檢查伺服器中所述。

附註:

如果您需要回復 Essbase 21.8 OPatch,您也必須回復至備份的 ODBC.INIODBCINST.INI Windows 登錄項目。例如,從 regedit 刪除 ODBC.INI 項目,然後按兩下 odbc.orig.reg 以回復上一個項目。或者,您可以匯入 / 合併登錄項目。