感谢阅读这篇文章。我试图通过Log parser 2.2执行sql时遇到上述错误;
“错误:语法错误::没有SELECT关键字”时 执行logparser sql文件
这就是我所做的:
创建一个SQL查询,该查询读取位于特定文件夹中的日志文件,并使用更新的数据创建新的文本文件。
使用日志解析器创建批处理文件以执行此SQL文件。
“C:\ Program Files \ Log Parser 2.2 \ logparser.exe”文件:“C:\ Temp \ Concur \ test \ test.sql”-i:CSV -headerRow:OFF -fixedFields:OFF -o:CSV -headers:OFF“
运行批处理文件。它应该是应有的。将创建一个新的文本文件。
问题
.... INTO *来自'C:\ Temp \ Concur \ test \ Working * .txt'..
“错误:语法错误::没有SELECT关键字”时 执行logparser sql文件
。 3.我恢复了我所做的更改,所以现在源文件指向原始位置。运行批处理文件仍然会收到相同的错误。
有什么想法吗?
非常感谢。
SQL文件:
select
CASE TO_UPPERCASE(SUBSTR(EXTRACT_TOKEN(Filename, 4, '_'),0,2))
WHEN 'RE' THEN STRCAT(STRCAT(STRCAT(EXTRACT_PREFIX(EXTRACT_FILENAME(Filename), 3 ,'_'),'_Retry'),TO_STRING(ADD(TO_INT(SUBSTR(EXTRACT_TOKEN(Filename, 4, '_'),5,SUB(STRLEN(EXTRACT_TOKEN(Filename, 4, '_')),9))),1))),'.txt')
ELSE STRCAT(EXTRACT_PREFIX(EXTRACT_FILENAME(Filename), 3 ,'_'),'_Retry1.txt')
END AS newincrement
,Field1
,Field2
,Field3
,Field4
,Field5
,Field6
,Field7
,Field8
,CASE Field10
WHEN 'AU' THEN STRCAT('en_',Field10)
WHEN 'CA' THEN STRCAT('en_',Field10)
WHEN 'GB' THEN STRCAT('en_',Field10)
WHEN 'IE' THEN STRCAT('en_',Field10)
WHEN 'IN' THEN STRCAT('en_',Field10)
WHEN 'NZ' THEN STRCAT('en_',Field10)
WHEN 'US' THEN STRCAT('en_',Field10)
WHEN 'ZA' THEN STRCAT('en_',Field10)
ELSE 'en_GB' END AS Field9
,Field10
,Field11
,Field12
,Field13
,Field14
,Field15
,Field16
,Field17
,Field18
,Field19
,Field20
,Field21
,Field22
,Field23
,Field24
,Field25
,Field26
,Field27
,Field28
,Field29
,Field30
,Field31
,Field32
,Field33
,Field34
,Field35
,Field36
,Field37
,Field38
,Field39
,Field40
,Field41
,Field42
,Field43
,Field44
,Field45
,Field46
,Field47
,Field48
,Field49
,Field50
,Field51
,Field52
,Field53
,Field54
,Field55
,Field56
,Field57
,Field58
,Field59
,Field60
,Field61
,Field62
,Field63
,Field64
,Field65
,Field66
,Field67
,Field68
,Field69
,Field70
,Field71
,Field72
,Field73
,Field74
,Field75
,Field76
,Field77
,Field78
,Field79
,Field80
,Field81
,Field82
,Field83
,Field84
,Field85
,Field86
INTO
*
from
'C:\Temp\Concur\test\Working\*.txt'
批处理文件:
"C:\Program Files\Log Parser 2.2\logparser.exe" file:"C:\Temp\Concur\test\test3.sql" -i:CSV -headerRow:OFF -fixedFields:OFF -o:CSV -headers:OFF
答案 0 :(得分:0)
问题解决了。
谢谢@GabrieleGiuseppini,这是第一个。当我保存sql文件时,它被保存为UTF-8。我已将其保存为ANSI,现在一切正常。谢谢你的帮助。