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。
我正在使用 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。