Log Parser 2.2 - 错误:语法错误:<select-clause>:没有SELECT关键字</select-clause>

时间:2013-08-12 00:04:37

标签: sql logparser

感谢阅读这篇文章。我试图通过Log parser 2.2执行sql时遇到上述错误;

  

“错误:语法错误::没有SELECT关键字”时   执行logparser sql文件

这就是我所做的:

  1. 创建一个SQL查询,该查询读取位于特定文件夹中的日志文件,并使用更新的数据创建新的文本文件。

  2. 使用日志解析器创建批处理文件以执行此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“

  3. 运行批处理文件。它应该是应有的。将创建一个新的文本文件。

  4. 问题

    1. 我更新了test.sql文件中的源文件位置。我使用了相同的源文件,但将其复制到另一个文件夹。
    2.   

      .... INTO *来自'C:\ Temp \ Concur \ test \ Working * .txt'..

      1. 运行批处理文件,我收到上述错误:
      2.   

        “错误:语法错误::没有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
        

1 个答案:

答案 0 :(得分:0)

问题解决了。

谢谢@GabrieleGiuseppini,这是第一个。当我保存sql文件时,它被保存为UTF-8。我已将其保存为ANSI,现在一切正常。谢谢你的帮助。