ssis - 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-reference?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 任务
解决方案
使用服务主体连接 如果您已启用租户设置以允许服务主体使用 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。
推荐阅读
- crystal-lang - 如何在 Crystal 中将无符号整数解释为有符号整数,反之亦然?
- angular - 使 mat-chip-list 成为必需且可验证的
- python - 有没有一种巧妙的方法来获得设定差异的“残差”?
- javascript - 无法解除绑定/分离由外部脚本设置的 eventListener
- java - 有没有办法在 JavaFX 中拥有像 vis.js 这样的分层图形布局?
- tensorflow - ANN回归NaN损失值
- android - 升级 Visual Studio 后更小的 apk
- java - SpringBoot WebService Client Unable to load data security for user ANONYMOUS Exception
- php - ssh2_auth_pubkey_file 获取错误回调返回错误(PHP 7.4,Ubuntu 20)
- android - 安卓应用程序中的 Tron 钱包集成