疑难解答
9/01/2020
本文内容
以下部分介绍使用 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,需要 HDBODBC (64 位 ODBC) 。
驱动程序通常是通过运行 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
配置跟踪数据包 9999999999999999
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 数据源管理员 的"跟踪 " 选项卡中的"日志文件路径"。
从基于使用 命令配置的路径的 HANA 跟踪hdbodbc_cons32.exe 配置文件名称。
通过以下命令禁用跟踪:
hdbodbc_cons.exe关闭跟踪
捕获跟踪SAP HANA时,请注意以下注意事项:
跟踪命令应作为将运行 Mashup 进程(用于访问服务器)SAP HANA运行。
指定的跟踪文件路径应可写入运行 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 的修复。