共用方式為


疑難排解

下一節說明使用Power Query SAP HANA 連接器時可能發生的一些問題,以及一些可能的解決方案。

已知問題與限制

使用 SAP HANA 有幾個限制,如下所示:

  • NVARCHAR 字串會截斷為最大長度 4000 個 Unicode 字元。
  • 不支援SMALLDECIMAL。
  • 不支援 VARBINARY。
  • 有效日期介於 1899/12/30 和 9999/12/31 之間。

錯誤:此連接器需要安裝一或多個額外的元件

連接器會在登錄中尋找驅動程式,因此如果驅動程式未正確安裝,它就不會顯示。

登入機碼為:

HKEY_LOCAL_MACHINE\Software\ODBC\ODBCINST.INI\ODBC Drivers

如果您是在 64 位電腦上,但 Excel 或 Power BI Desktop 為 32 位(如下面的螢幕快照),您可以改為檢查 WOW6432 節點中的驅動程式:

HKEY_LOCAL_MACHINE\Software\WOW6432Node\ODBC\ODBCINST.INI\ODBC Drivers

請注意,驅動程序必須符合 Excel 或 Power BI Desktop 的位版本。 如果您使用:

  • 32 位 Excel/Power BI Desktop 需要 32 位 ODBC 驅動程式 (HDBODBC32)。
  • 64 位 Excel/Power BI Desktop,您需要 64 位 ODBC 驅動程式 (HDBODBC)。

驅動程式通常是藉由執行 hdbsetup.exe 來安裝。

最後,驅動程式也應該顯示為「ODBC DataSources 32 位」或「ODBC DataSources 64 位」。

收集SAP HANA ODBC驅動程序追蹤

擷取 SAP HANA 追蹤:

  1. 開啟命令行視窗。

  2. 視您的安裝而定,您可能需要移至 C:\Program Files,而不是 C:\Program Files (x86)。 此命令也可能hdbodbc_cons.exe,而不是hdbodb_cons32.exe。

  3. 輸入下列命令:

    cd C:\Program Files (x86)\sap\hdbclient
    hdbodbc_cons32.exe設定追蹤 API
    hdbodbc_cons32.exe設定追蹤 sql on
    在上hdbodbc_cons32.exe組態追蹤偵錯
    hdbodbc_cons32.exe設定追蹤簡短
    hdbodbc_cons32.exe組態追蹤封包99999999999999
    hdbodbc_cons32.exe組態追蹤檔名 D:\tmp\odbctraces\hana-%p.html
    hdbodbc_cons32.exe追蹤重新整理
    hdbodbc_cons32.exe全部顯示

  4. 開啟 Power BI、清除快取,然後重新執行案例。

  5. 完成後,請壓縮追蹤:

    • 從 ODBC 資料源 管理員 istrator 之 [追蹤] 索引標籤中的 [記錄檔路徑]。
    • 根據使用 命令 設定的路徑,從 HANA 追蹤hdbodbc_cons32.exe組態追蹤檔名
  6. 使用下列命令停用追蹤:

    hdbodbc_cons.exe追蹤關閉

擷取 SAP HANA 追蹤時,請注意下列考慮:

  • 追蹤命令應該以將執行存取SAP HANA 伺服器之 Mashup 進程的使用者身分執行。
  • 您指定的追蹤檔案路徑應該由執行 Mashup 進程的使用者寫入。

例如:

  • 若要從閘道擷取非 SSO 連線,請確定您使用閘道服務使用者。 也就是說,當您想要執行hdodbc_cons.exe呼叫時,請以閘道使用者身分執行命令行視窗。 請確定閘道伺服器使用者可以寫入您指定的記錄檔位置。
  • 若要從閘道擷取 SSO 連線,請使用 SSO 使用者。

SAP HANA:許可權不足

此訊息可能是因為:

  • 使用者合法地沒有他們嘗試存取之檢視的足夠許可權。

  • 下列已知問題:

    問題:無法使用 SAP 用戶端 2.0 37.02 從 PBI Desktop 連線到 SAP HANA,但如果您將用戶端版本降級為 1.00.120.128,則運作正常。

    ERROR MESSAGE: External error: ERROR [S1000] [SAP AG][LIBODBCHDB DLL][HDBODBC] General error;258 insufficient privilege: [2950] user is not authorized

    • 來自 SAP 的回應:

      已知問題的 SAP 回應。

    不幸的是,這是 SAP 問題,因此您必須等候 SAP 的修正。