C# MS日志分析器2.2查询错误

C# MS日志分析器2.2查询错误,c#,vb.net,iis,logparser,iis-logs,C#,Vb.net,Iis,Logparser,Iis Logs,我试图确定用户是否使用MS Log Parser 2.2从FTP下载了文件 虽然我使用了几个示例查询,但我还无法启动解析器SQL查询 水下解析器查询不起作用: strSQL=选择日期,将*计算为下载,c-ip strSQL=strSQL&来自C:\temp\Log\*.Log strSQL=strSQL&其中cs method='RETR' strSQL=strSQL&按日期分组,c-ip 错误: 问题: 如何创建查询: - SELECT Date and Time of download

我试图确定用户是否使用MS Log Parser 2.2从FTP下载了文件

虽然我使用了几个示例查询,但我还无法启动解析器SQL查询

水下解析器查询不起作用:

strSQL=选择日期,将*计算为下载,c-ip strSQL=strSQL&来自C:\temp\Log\*.Log strSQL=strSQL&其中cs method='RETR' strSQL=strSQL&按日期分组,c-ip 错误:

问题:

如何创建查询:

 - SELECT Date and Time of download
 - Where user = 'xxx' 
 - WHERE RETR = is a download
 - WHERE Filename = u_ex150709.log or xxx
也欢迎用C语言回答

VB.net代码:

将rsLP设置为ILogRecordset=Nothing 将行LP变暗为ILogRecord=无 Dim LogParser作为LogQueryClassClass=Nothing 将W3Clog设置为COMW3CInputContextClassClass=Nothing Dim UsedBW As Double=0 Dim UNITS作为整数处理 作为字符串的Dim strSQL=无 LogParser=新的LogQueryClassClass W3Clog=新的COMW3CInputContextClassClass 尝试 strSQL=选择日期,将*计算为下载,c-ip strSQL=strSQL&来自C:\temp\Log\*.Log strSQL=strSQL&其中cs method='RETR' strSQL=strSQL&按日期分组,c-ip '对W3C日志运行查询 rsLP=LogParser.ExecutestrSQL,W3Clog '错误发生在下面的行中 rowLP=rsLP.getRecord 就像你一样,我也编写了利用LogParser的工具,例如

虽然早在2004年使用.Net 1.1时,我就没有下载的好处:

检查他们的源代码,让查询在VisualParser中工作,然后在项目中简单地引用它,享受开源社区的乐趣

关于您对FTP欺骗的疑问,以下是MSDN文章:

当查看我创建了一个GUI来动态创建的查询时,您的查询有一点非常突出,即文件路径中缺少单引号:

试试这个:

strSQL = strSQL & "FROM 'C:\temp\Log\*.log' "
并使用StringBuilder,而不是字符串连接。。。只是为了养成最佳实践的习惯

根据:

如果引号不能解决问题,请先尝试单个日志文件,而不是 通配符*.log以缩小语法错误的范围。LogParser不是 旨在帮助诊断问题查询,而不是Gabriele 朱塞皮尼设计的


您能提供示例日志吗?在调用最后一行之前,rsLP.atEnd的值是多少?
SELECT date,COUNT(*) AS downloads,c-ip,x-session
FROM *.log
WHERE cs-method='RETR'
GROUP BY date,c-ip,x-session
HAVING COUNT(*) > 100
strSQL = strSQL & "FROM C:\temp\Log\*.log "
strSQL = strSQL & "FROM 'C:\temp\Log\*.log' "