Python SQL 不匹配的输入 'Orion' 期望 'FROM'

Python SQL mismatched input 'Orion' expecting 'FROM'

我正在使用 OrionSDK,我有一个 python 查询不断返回此错误:不匹配的输入 'Orion' 期待 'FROM' 。这是查询。不确定是什么原因造成的。提前致谢!

'''results = swis.query("SELECT "
                 "n.Caption AS NodeCaption"
                 ",n.IP_Address AS IPAddress"
                 ",n.NodeID"
                 ",a.ApplicationID"
                 ",n.Uri AS NodeUri"
                 ",n.Uri AS AppUri"
                 "FROM Orion.Nodes n"
                 "JOIN Orion.APM.Application a ON n.NodeID = a.NodeID"
                 "JOIN Orion.APM.ApplicationTemplate at ON a.ApplicationTemplateID = at.ApplicationTemplateID"
                 "WHERE at.Name IN('Process_Monitor - Dynatrace Linux OneAgent', 'Service_Monitor - Dynatrace "
                 "OneAgent Service'") '''

您的查询字符串中需要一些额外的 space。

比如这两行:

             ",n.Uri AS AppUri"
             "FROM Orion.Nodes n"

将产生:

,n.Uri AS AppUriFROM Orion.Nodes n

所以它正在解析 "AppUriFROM" 作为列别名;然后它期待一个 FROM 关键字但找到 Orion 而不是,这会导致你的错误。

我认为您需要在 FROM、JOIN 和 WHERE 关键字之前添加一个 space。