我正在尝试使用SQL2.2将.csv转换为LogParser表,并在剔除非字母数字字符后动态创建列。当我在命令提示符下使用以下行时,我得到一个错误:
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数据库中的有效函数。
发布于 2013-06-04 00:23:03
您提供给LogParser的SQL查询在LogParser的内部"SQL“引擎中执行,并针对输入文件( CSV文件)运行,而不是针对输出数据库运行。输出数据库仅使用此查询的结果写入。
发布于 2013-10-05 11:51:38
您可以将RemoveNonAlphaNumCharacters放在那里,该查询将不会在数据库上运行,该查询将在日志解析器中运行,因此RemoveNonAlphaNumCharacters在那里不存在。必须稍后运行该函数(可以通过参数传递要在导入到数据库后运行的存储过程),或者使用logparser函数删除这些字符。
发布于 2014-01-24 07:41:17
我在LogParser的“类SQL引擎”中找不到任何对“RemoveNonAlphaNumCharacters”的引用。阅读SQL2.2附带的文档时,LogParser使用的SQL语言是“使用一种包含常见LogParser子句的SQL语言方言”。这并不完全是SQL。当我专门查看SELECT语句时,并没有提到您正在使用的方法。
正如Fernando建议的那样,您需要使用LogParser的内置函数来删除这些字符,因为REPLACE_STR是由它自己的引擎在LogParser中执行的。
祝好运。
https://stackoverflow.com/questions/16817327
复制相似问题