使用直接查询模式的Azure SQL数据库中的存储过程用法

时间:2017-04-06 07:15:42

标签: sql azure azure-sql-database powerbi azure-hub

我在Azure SQL数据库中创建了存储过程,并尝试使用直接查询模式来启用BI报告。但得到的错误就像

  

driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(0)); // setting to 0 will check one time only when using FindElement // look for the elements driver.Manage().Timeouts().ImplicitlyWait(TimeSpan.FromSeconds(original settings)); ')'附近的语法不正确。

另一个问题是

如何将连接字符串设置为全局,以便我可以在多个报告中使用相同的连接字符串?

请帮我解决问题

1 个答案:

答案 0 :(得分:4)

我假设您正在使用Power BI Desktop。当它构造DirectQuery SQL查询时,它会这样做:

Select column1
From (
 YourQuery
) as t1

所以它失败了,因为你不能将EXEC放在SELECT查询的from子句中。

您的选择:

  1. 停止使用DirectQuery。在缓存模式下使用存储过程将起作用,因为它只是在刷新期间运行您的查询而不进行任何更改。为什么这对你不起作用?

  2. 从存储过程中取出查询并将其内联到PBI Desktop中。然后它应该与DirectQuery一起使用,只要它是单个语句简单选择。

  3. 关于重用连接(我假设你还意味着在另一个报告中重用模型与计算,关系等)。在PBI Desktop选项下启用此新preview feature ,您可以连接到Power BI Service中的已发布数据集(模型/数据/连接)。