-fixcolnames在日志parsing器2.2中做什么?

我正在使用Logparser 2.2试图将填充了性能计数器信息的.csv带入SQL数据库,并使用下面的命令行命令:

logparser "Select * into IISCounters from C:\Logfiles\IIS_Log.csv" -i:CSV -o:SQL -server:MJNHNX4 -database:PerfmonCounters -driver:"SQL Server" -fixcolnames:ON -createTable:ON

它正在寻找的文件具有非常奇怪的标头名称,如: \\perfiis06\network interfaceintel[r] pro_1000 mt network connection _2\bytes received/sec\\perfiis06\network interfaceisatap.{3ab7a9d7-115b-4e2a-b7e3-613e431174a3}\bytes received/sec所以以前我只是find并replace所有非字母数字字符,并将数据中。但是,我期待尝试避免将来的工作(我注意到,日志parsing器已据说这样做的 – -fixcolnames开关)。

但是,当我尝试只使用该开关时,出现以下错误:

[Microsoft][ODBC SQL Server Driver]Syntax error or access violation

这不是访问冲突,因为它是在指定数据库的DBO的pipe理员用户下运行的,所以这很可能是列名的错误。 这引出了一个问题…… -fixcolnames到底做-fixcolnames什么?

它应该清理字段名称(从input文件中提取),以符合列名称的标准SQL语法。 这并不是说你的错误。 使用SQL事件探查器可能会显示与SQL Server的通信实际发生了什么。