首页 > 解决方案 > Analysis Services 为 Power BI XMLA 终结点执行 DDL 任务连接字符串

问题描述

我们启用了 power bi premium 和 XMLA 端点。

我正在尝试使用 TMSL 脚本刷新数据集中的分区。

microsoft doco 说这应该与“Analysis Services Execute DDL Task in SSIS”一起使用。 https://docs.microsoft.com/en-us/analysis-services/tmsl/tabular-model-scripting-language-tmsl-r​​eference?view=azure-analysis-services-current

我可以在 SSIS 中连接(见下文),但是当我使用此连接运行 DDL 任务时,我得到一个连接字符串不是有效的消息。

任何帮助表示赞赏。

谢谢

错误:Analysis Services 执行 DDL 任务时出现 0x0,Analysis Services 执行 DDL 任务:连接字符串无效。错误:Analysis Services 执行 DDL 任务时出现 0x0,Analysis Services 执行 DDL 任务:DDL 执行失败。任务失败:Analysis Services 执行 DDL 任务

连接管理器图像

标签: ssispowerbissas-tabular

解决方案


使用服务主体连接 如果您已启用租户设置以允许服务主体使用 Power BI API,如启用服务主体中所述,您可以使用服务主体连接到 XMLA 终结点。请记住,服务主体在工作区或数据集级别需要与普通用户相同级别的访问权限。

要使用服务主体,请务必将连接字符串中的应用程序标识信息指定为:

用户 ID=app:appid@tenantid 密码= 例如:

数据源=powerbi://api.powerbi.com/v1.0/myorg/Contoso;初始目录=PowerBI_Dataset;用户ID=app:91ab91bb-6b32-4f6d-8bbc-97a0f9f8906b@19373176-316e-4dc7-834c-328902628ad4 ;密码=6drX...;

如果您收到以下错误:

“由于帐户信息不完整,我们无法连接到数据集。对于服务主体,请确保使用格式 app:@ 指定租户 ID 和应用 ID,然后重试。”

确保使用正确的格式指定租户 ID 和应用 ID。

指定没有租户 ID 的应用 ID 也是有效的。但是,在这种情况下,您必须将数据源 URL 中的 myorg 别名替换为实际的租户 ID。然后,Power BI 可以在正确的租户中找到服务主体。但是,作为最佳实践,使用 myorg 别名并在 User ID 参数中指定租户 ID 和应用 ID。

https://docs.microsoft.com/en-us/power-bi/admin/troubleshoot-xmla-endpoint#connecting-with-a-service-principal


推荐阅读