疑難排解
下一節說明使用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 追蹤:
開啟命令行視窗。
視您的安裝而定,您可能需要移至 C:\Program Files,而不是 C:\Program Files (x86)。 此命令也可能hdbodbc_cons.exe,而不是hdbodb_cons32.exe。
輸入下列命令:
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全部顯示開啟 Power BI、清除快取,然後重新執行案例。
完成後,請壓縮追蹤:
- 從 ODBC 資料源 管理員 istrator 之 [追蹤] 索引標籤中的 [記錄檔路徑]。
- 根據使用 命令 設定的路徑,從 HANA 追蹤hdbodbc_cons32.exe組態追蹤檔名。
使用下列命令停用追蹤:
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 的修正。