Logparser无法识别SQL命令

时间:2013-05-29 14:58:41

标签: sql logging logparser

我尝试使用LogParser 2.2尝试将.csv转换为SQL表,在删除非字母数字字符后动态创建列。当我从命令提示符使用以下行时,出现错误:

logparser "SELECT.RemoveNonAlphaNumCharacters * INTO SQLCounters FROM 'C:\Users\Test\Desktop\SQL_Log_0.csv" -i:CSV -o:SQL -Server:MJNHNX4 -database:PerfMonCounters -driver:"SQL Server" -createtable:ON

我看到的错误是

Error: Syntax Error: (from-clause): expecting FROM keyword instead of token '*'

我的谴责有什么不对? RemoveNonAlphaNumCharacters是PerfMonCounters数据库中的有效函数。

3 个答案:

答案 0 :(得分:0)

您为LogParser提供的SQL查询在LogParser的内部“SQL”引擎中执行,并针对输入文件(您的CSV文件)运行,而不是针对输出数据库。输出数据库仅使用此查询的结果写入。

答案 1 :(得分:0)

你可以在那里放置RemoveNonAlphaNumCharacters,该查询不会在你的数据库上运行,该查询将在logparser中运行,因此那里不存在RemoveNonAlphaNumCharacters。您必须稍后运行该函数(您可以通过参数传递导入到数据库后运行的存储过程),或使用logparser函数删除这些字符。

答案 2 :(得分:0)

我在LogParser的“类似SQL的引擎”中找不到对“RemoveNonAlphaNumCharacters”的引用。阅读LogParser 2.2附带的随附文档,LogParser使用的SQL语言是“使用包含常见SQL子句的SQL语言的方言”。这不完全是SQL。当我特别注意SELECT语句时,没有提到你正在使用的方法。

正如Fernando建议的那样,你需要使用LogParser的内置函数(如'RE​​PLACE_STR')删除这些字符,因为SQL是在LogParser中由它自己的引擎执行的。

祝你好运。