我正在通过调用PowerBI中的存储过程来创建一个新表,但它给了我一个错误。 目前不支持本机数据库查询
下面是我用来创建表的查询。使用客户端名称作为参数调用 SP。
如果我跑步
EXEC dbo.Test 'Test'
工作正常。
为#ServerName 创建了参数。
= Sql.Database(#"ServerName", "MT", [Query="EXEC dbo.Test " &"'" & ClientName &"'",CommandTimeout=#duration(250, 0, 0, 0)])
Google 搜索错误消息,发现 1 个设置文件 > 选项 > 安全 > 未选中新本机数据库查询所需的用户批准。
但它仍然给我一个错误。
有人可以帮忙吗。
您可以在上一行设置查询文本并检查它是否为真,然后您可以运行查询,例如:
let
sQuery = "EXEC dbo.Test " & "'" & ClientName &"'",
RunQuery = Sql.Database( ServerName , "MT", [Query=sQuery,CommandTimeout=#duration(250, 0, 0, 0)])
in
RunQuery
另一方面,他们建议使用这种语法更好
myDB =Sql.Database(dBaseIP, dBase),
Source = Value.NativeQuery(mdDB, Query)
对我来说,这是 SQL 本身的语法错误。与连接数据库无关。这是一个非常具有误导性的错误,但是一旦我修复了查询(并测试了它在 SSMS 中运行),错误就消失了。 答案是这个错误可能会误导您认为问题出在 power query 中,而实际上它只是一个 sql 语法错误。如果你发布了查询的 sql 那么会有帮助。