#sql #logparser
#sql #анализатор журналов
Вопрос:
Я хочу получить значение URL-адреса API в файле журнала IIS. Поскольку параметр представляет собой строку, разделенную запятыми, поэтому я не могу использовать Log Parser studio. Я создал asp.net консольное приложение и попытался извлечь значение, чтобы я мог манипулировать строкой. Мой формат cs-uri-запроса выглядит следующим образом: » CheckedItems = A,B amp; subject = AA». Мой запрос ниже работает для извлечения темы, но теперь проверяются элементы:
strSQL = @"SELECT TOP 5 EXTRACT_VALUE(cs-uri-query,'subject') as Query_subject, COUNT(*) AS Total FROM C:tempLOGu_ex201007_x.log where cs-uri-stem like '/api/path/get' GROUP BY Query_subject ORDER BY Total DESC";
Как получить значение CheckedItems A, B в strSQL? Спасибо.
Комментарии:
1.
EXTRACT_VALUE
работает только в анализаторе журналов, а не в любом другом SQL. Вы говорите, что ваше консольное приложение создает эту строку, а затем вызывает ее с помощью анализатора журналов?2. ДА. Я изменил свой запрос, и теперь он работает. @»ВЫБЕРИТЕ TOP 50 EXTRACT_VALUE(cs-uri-query,’CheckedItems’) в качестве Query_campus, ПОСЧИТАЙТЕ (*) КАК итог ИЗ C:tempLOGu_ex201007_x.log где cs-uri-stem типа ‘/api/path/get’ ГРУППИРУЕТСЯ ПО Query_campus»
3. Хорошо, хорошо. Возможно, вы захотите опубликовать это как ответ на вопрос