疑难解答
以下部分介绍使用 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 config trace api on
hdbodbc_cons32.exe config trace sql on
hdbodbc_cons32.exe config trace debug on
hdbodbc_cons32.exe config trace short on
hdbodbc_cons32.exe config trace packet 99999999999999
hdbodbc_cons32.exe config trace filename D:\tmp\odbctraces\hana-%p.html
hdbodbc_cons32.exe trace refresh
hdbodbc_cons32.exe show all打开 Power BI,清除缓存,然后重新运行场景。
完成后,压缩跟踪:
- 从 ODBC 数据源管理器的跟踪选项卡中的日志文件路径。
- 从基于使用命令 hdbodbc_cons32.exe config trace filename 配置的路径的 HANA 跟踪。
使用以下命令禁用跟踪:
hdbodbc_cons.exe trace off
捕获 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 修复。