0

我正在使用 OrionSDK,并且我有一个 python 查询不断返回此错误: mismatched input 'Orion' Expecting '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'") '''
4

1 回答 1

1

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

例如,这两行:

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

将产生:

,n.Uri AS AppUriFROM Orion.Nodes n

所以它将“AppUriFROM”解析为列别名;那么它期待一个 FROM 关键字,但是却发现Orion了,这会导致您的错误。

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

于 2020-06-05T17:15:35.373 回答