Denodo
注意
以下连接器文章由 Denodo 提供。Denodo 是此连接器的所有者以及 Microsoft Power Query 连接器认证计划的成员。 如果对本文内容存有疑问或建议对本文进行更改,请访问 Denodo 网站并利用此处的支持渠道。
总结
项目 | 说明 |
---|---|
发布状态 | 正式版 |
产品 | Power BI(语义模型) Power BI(数据流) Fabric(数据流 Gen2) |
支持的身份验证类型 | 基本 Windows |
注意
由于部署计划和特定于主机的功能,某些功能可能只存在于一个产品中。
先决条件
若要使用此连接器,必须已安装 Denodo 平台,配置并启动其服务。 如果使用 ODBC DSN 进行连接,则必须在 ODBC 数据源管理器中正确配置连接。
支持的功能
- 导入
- DirectQuery(Power BI 语义模型)
从 Power Query Desktop 连接到 ODBC 数据源
请执行以下步骤来建立连接:
若要连接数据,请在“主”功能区中选择“获取数据”,然后在“数据库”部分选择“Denodo”。
可通过两种方法连接到所选数据源:
- 通过 DSN(ODBC 数据源名称)
- 使用连接字符串
在“Denodo 连接器”对话框的“DSN 或连接字符串”部分中,根据首选的连接类型提供“数据源名称 (DSN)”或“连接字符串”。
创建与 Denodo 兼容的连接字符串时,考虑必须省略“驱动程序”字段,因为连接器本身在连接时会以透明方式设置此字段。
连接字符串必须包含三个必需参数:SERVER、PORT 和 DATABASE:
SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database name>
此外,还可以包含可选参数:SSLmode:
SERVER=<Server name>;PORT=<Port number>;DATABASE=<Database name>;SSLmode=<SSL mode>
必须省略身份验证参数,因为身份验证在后续步骤配置。
注意
写入连接字符串时,必须考虑以下方面:
- 连接字符串必须保持正确的参数顺序:SERVER、PORT、DATABASE 和 SSLMode。
- 这些参数的名称必须始终以相同的方式写入。 例如,如果选择以大写形式写入,则必须始终以大写形式写入;如果决定以首字母大写形式写入(以大写形式写入单词的第一个字母,其余字母小写),则必须始终以这种方式写入。
否则,Power BI 可能无法识别报表中属于同一 Denodo 数据源的不同 Denodo 数据集,从而将分别为每个数据集索要单独的身份验证凭据。
第二部分“启用调试模式”是一个可选字段,可用于向日志文件添加跟踪信息。 使用“选项”菜单中的“诊断”选项卡在应用程序中启用跟踪时,Power BI Desktop 会创建这些文件。 请注意,“启用调试模式”的默认值为 false,在这种情况下,Denodo Power BI 自定义连接器的日志文件中不会有任何跟踪数据。
第三部分“本机查询”是一个可选字段,可在其中输入查询。 如果使用此查询字段,生成的数据集将是查询的结果,而不是一个表或一组表。
可以编写查询,仅查询数据源与之关联的一个数据库。
SELECT title, name FROM film JOIN language ON film.language_id = language.language_id WHERE film.language_id = 1
如果要编写查询多个数据库的查询,则必须在查询中指定拥有每个表的数据库。
SELECT i_item_sk, country FROM sakila.country, ewd.item
“Denodo 连接器”的最后一部分是“数据连接模式”,可在导入模式或 DirectQuery 模式之间进行选择。
完成后,选择“确定”。
在显示用于显示 Denodo Virtual DataPort 中可用数据预览的导航器窗口之前,系统会要求你进行身份验证。 Denodo Power BI 自定义连接器支持两种身份验证类型:Windows 和 Basic。
Windows:选择使用 Windows 身份验证时,Power BI Desktop 使用 Kerberos 身份验证连接到 Virtual DataPort。
在这种情况下:
必须在 Virtual DataPort 服务器中启用 Kerberos 身份验证。
数据源连接到的 Denodo Virtual DataPort 数据库必须使用设置为 Kerberos 的 ODBC/ADO.net 身份验证类型选项进行配置。
Power BI Desktop 必须在 Windows 域中运行,因为 ODBC 驱动程序将从操作系统的票证缓存请求 Kerberos 票证。
确保 DSN 配置的“高级选项”页包含将 Kerberos 用作身份验证方法所需的所有配置。
基本:此身份验证类型允许你使用 Virtual DataPort 服务器凭据将 Power BI Desktop 连接到 Virtual DataPort 数据。
完成后,选择“连接”。
在“导航器”中,从所需数据库中选择所需数据,然后选择“加载”,如果要修改传入数据,请选择“转换数据”。
使用本地数据网关从 Power BI 服务连接到 ODBC 数据源
请执行以下步骤来建立连接:
配置本地数据网关(企业网关)充当桥梁,在本地数据(在 Power BI Desktop 应用程序中,但不在云中的数据)与 Power BI 服务之间提供快速安全的数据传输。
登录并注册网关。 在本地数据网关应用中,选择“状态”选项卡以验证网关是否处于联机状态并可供使用。
在 Power BI 服务中使用网关设置页,为 Denodo Power BI 自定义连接器创建数据源。
若要创建数据源,必须指定连接到所选数据源的方法:
- 通过 DSN
- 使用连接字符串
还必须指定身份验证模式。 可用的身份验证方法包括:
Windows:选择使用 Windows 身份验证时,Power BI 服务使用 Kerberos 身份验证连接到 Virtual DataPort。 您需要:
在“数据源设置”中,输入用户名和密码以创建 Kerberos 票证。
必须在 Virtual DataPort 服务器中启用 Kerberos 身份验证。
数据源连接到的 Denodo Virtual DataPort 数据库必须使用设置为 Kerberos 的 ODBC/ADO.net 身份验证类型选项进行配置。
确保 DSN 配置的“高级选项”页包含将 Kerberos 用作身份验证方法所需的所有配置。
基本:此身份验证类型允许在 Power BI 服务中创建数据源,以使用 Virtual DataPort 服务器凭据连接到 Virtual DataPort 数据。
如果使用 Windows 身份验证,请在数据源的“高级设置”下启用单一登录 (SSO) 身份验证架构,以便使用 Power BI 中访问报表的用户的相同凭据来访问 Denodo 中所需的数据。
有两个选项可用于启用 SSO:通过 Kerberos 使用 SSO 进行 DirectQuery 查询,通过 Kerberos 使用 SSO 进行 DirectQuery 和 Import 查询。 如果使用基于 DirectQuery 查询的报表,这两个选项都使用登录到 Power BI 服务的用户的 SSO 凭据。 使用基于Import 查询的报表时会有所不同。 在这种情况下,前一个选项使用在数据源页(“用户名”和“密码”字段)中输入的凭据,后者则使用数据集所有者的凭据。
请务必注意,必须考虑特定的先决条件和注意事项,才能使用基于 Kerberos 的 SSO。 其中一些基本要求包括:
必须为运行 Microsoft Power BI Gateway 的 Windows 用户启用 Kerberos 约束委派,并且应根据 Microsoft 为此提供的说明执行本地 Active Directory 和 Microsoft Entra ID 环境的配置。
默认情况下,Microsoft Power BI 网关会在执行 SSO 身份验证操作时发送用户主体名称 (UPN)。 因此,需要查看在 Denodo Kerberos 身份验证中用作登录标识符的属性,如果与
userPrincipalName
不同,请根据此值调整网关设置。名为
Microsoft.PowerBI.DataMovement.Pipeline.GatewayCore.dll.config
存储在\Program Files\On-premises data gateway
的 Microsoft Power BI Gateway 配置文件有两个属性,分别称为ADUserNameLookupProperty
和ADUserNameReplacementProperty
,允许网关在运行时执行本地 Microsoft Entra ID 查找。ADUserNameLookupProperty
必须指定必须将 Microsoft Entra ID 提供的用户主体名称映射到的本地 AD 的属性。 因此,在这种情况下,ADUserNameLookupProperty
应为userPrincipalName
。 然后,找到用户后,ADUserNameReplacementProperty
值指示应用于对模拟用户进行身份验证的属性(将在 Denodo 中用作登录标识符的属性)。还应考虑此配置文件中网关级别的更改,因此会影响通过 Microsoft Power BI 网关完成 SSO 身份验证的任何源。
为 Denodo 连接器创建数据源后,可以刷新 Power BI 报表。 若要发布有关 powerbi.com 的报表,需要:
- 在 Power BI Desktop 中打开报表。
- 选择“文件”>“发布”>“发布到 Power BI”。
- 将报表保存到计算机上。
- 选择要发布的工作区。
高级配置
使用 ConnectionTimeout 参数。
如果要控制在放弃尝试与服务器建立连接之前需要等待的时间,可以使用 ConnectionTimeout
参数。
此参数只能通过“高级编辑器”使用。 为此,必须在记录选项中添加 ConnectionTimeout
参数,并关联一个 Duration
类型的值。
有关
Duration
类型的详情,请参阅此处。
故障排除
当 Denodo 视图中的字段与其他视图的关系超过 42 个时加载数据。
如果作为数据源导入 Power BI 的 Denodo 视图与其他视图的关系超过 42 个,则访问数据转换窗口时,Power BI 可能会显示以下错误:
Preview.Error: The type of the current preview value is too complex to display.
此错误是由于 Microsoft Power Query 平台中的限制造成的。 若要解决此问题,请在数据转换窗口中选择失败的数据源(查询),并使用>“视图”“高级编辑器”访问高级编辑器。 然后,用 M 语言编辑数据源表达式,将以下属性添加到 options
函数调用的 Denodo.Contents
参数:
CreateNavigationProperties=false
因此,调用将类似于:
Source = Denodo.Contents(<dsn>, null, [CreateNavigationProperties=false])
此属性将指示 Power BI 不要尝试并根据为此数据源中访问的 Denodo 视图注册的关系生成导航属性。 因此,如果需要在 Power BI 数据模型中实际存在其中一些关系, 则需要在以后手动注册这些关系。