Hello ,
I'm trying the following DB query via CURL:
curl --insecure -v -u <USERNAME> https://<IP_ADDRESS>:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+IfName+,+Alias+,+Outbps+,+Inbps+FROM+Orion.NPM.Interfaces | awk -F',' '{ out=""; for(i=2;i<=NF;i++){out=out" "$i "\n"}; print out }'
What I am trying to get is every interface known by NPM, it's Name , it's Description (Alias) and it's Out/In bps counters .After I get the results - I parse them and get an output like this for each interface:
{"IfName":"Po3.SI.4526"
"Alias":"VPN Link Client Test"
"Outbps":119033.211
"Inbps":29914.1465}
So this query works - now what I'm trying to do is do some filtering via "Alias" :
curl --insecure -v -u <USERNAME> https://<IP_ADDRESS>:17778/SolarWinds/InformationService/v3/Json/Query?query=SELECT+IfName+,+Alias+,+Outbps+,+Inbps+FROM+Orion.NPM.Interfaces+WHERE+Alias+LIKE+'%Link%' | awk -F',' '{ out=""; for(i=2;i<=NF;i++){out=out" "$i "\n"}; print out }'
And I get the following error:
"
* Closing connection #0
"ExceptionType":"SolarWinds.Data.SWQL.SWQLSyntaxException"
"FullException":"SolarWinds.Data.SWQL.SWQLSyntaxException: no viable alternative at input '%' in Where clause ---> Antlr.Runtime.NoViableAltException: A recognition error occurred.\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.unaryExpression()\u000d\u000a --- End of inner exception stack trace ---\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.unaryExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.multiplyExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.additiveExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.concatenation()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.relationalExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.equalityExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.negatedExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.logicalAndExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.logicalOrExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.expression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.logicalExpression()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.whereClause()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.queryRule()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.selectStatement()\u000d\u000a at SolarWinds.Data.SWQL.Parser.SWQLParser.statement()\u000d\u000a at SolarWinds.Data.SWQL.SWQLParser.Parse(String query)\u000d\u000a at SolarWinds.Data.Query.Engine.QueryProcessor.ProcessInternal(String query
IQueryExecutionContext context)\u000d\u000a at SolarWinds.InformationService.Core.QueryPlanCache.GetQueryPlan(String query
"
If I try this using SWQL - it works just fine...
Any ideas?
Best Regards!