尝试将我的 IIS 日志自动加载到 MSSQL 中,我编写了以下函数。
执行这个函数会弹出一个cmd提示符来执行logparser.exe,然后立即关闭。它保持打开的时间足以让我看到 logparser 帮助菜单。
但是,如果我删除“>> test.out”部分,它会按预期工作。
知道为什么吗?如您所见,我正在输出按预期正确形成的 shell 字符串。
Function RunLogParser(logFile)
Dim oShell, iRC, ShellString
WScript.Echo "Importing File " + logFile + vbCrLf
ShellString = """C:\Program Files\Log Parser 2.2\LogParser.exe"" ""SELECT * INTO weblog FROM " + logFile + """ " + " -i:W3C -o:SQL -server:localhost -database:testdb -driver:""SQL Server"" -createTable:OFF" + " >> test.out"
WScript.Echo vbTab + "Shell String " + ShellString + vbCrLf
Set oShell = WScript.CreateObject("WScript.Shell")
iRC = oShell.Run(Shellstring, 1, True)
RunLogParser = (iRC=0)
RunLogParser = False
End Function