这是我的VBS文件内容:
dim com1, com2
com1 = "C:\windows\system32\cmd.exe /c D:\wamp\bin\mysql\mysql5.6.17\bin\mysql.exe -h xxx -u xxx -pxxx xxx < " & chr(34) & "D:\create_vox.sql" & chr(34) & chr(34)
com2 = "C:\windows\system32\cmd.exe /c D:\wamp\bin\mysql\mysql5.6.17\bin\mysql.exe -h xxx -u xxx -pxxx xxx < " & chr(34) & "D:\cdr_table.sql" & chr(34) & chr(34)
CreateObject("wscript.shell").Run com1, 10, True
CreateObject("wscript.shell").Run com2, 10, True
我按照任务计划程序中的计划运行它:使用SYSTEM帐户,具有最高权限。
当脚本独自运行时,我尝试了它,并按照它想要的那样做。但当我通过调度程序运行它时,上面的第二个命令(com2)不会通过。
[EDIT4]
我试过了:
更改 intWindowStyle ,将其设置为0,1和10.
和
Set tempob1 = CreateObject("WScript.Shell")
Set tempob2 = CreateObject("WScript.Shell")
tempob1.Run com1,,True
tempob2.Run com2,,True
和
Set tempob2 = CreateObject("WScript.Shell")
mcom2 = "D:\importcdr.bat"
tempob2.Run mcom2,10,True
importcdr.bat =
D:\wamp\bin\mysql\mysql5.6.17\bin\mysql.exe -h xxx -u xxx -pxxx xxx < "cdr_table.sql"
和
CreateObject("WScript.Shell").Run "C:\windows\system32\cmd.exe /c D:\wamp\bin\mysql\mysql5.6.17\bin\mysql.exe -h xxx -u xxx -pxxx xxx < " & chr(34) & "D:\cdr_table.sql" & chr(34) & chr(34),10,True
和
我已将任务拆分为两个单独的批处理文件,并记录错误2>D:\sql_error.log
并再次运行VBS,但没有任何错误提示可提供有关如何解决此问题的任何详细信息。
答案 0 :(得分:0)
好的,我的解决方法如下:
1。)我在网络共享上有原始导入文件(CVS)和sql文件,因此我将其移动到本地文件夹;即:D:\ folder \
2.。)在SQL文件中,我改变了
LOAD DATA LOCAL INFILE 'D:\folder\DATA.CSV'
到
LOAD DATA LOCAL INFILE 'D:\\folder\\DATA.CSV'
我猜任务计划程序不喜欢这条路径,因为它位于网络共享上,也因为它没有双反斜杠。一旦我改变了这一点,我就可以在没有调度程序问题的情况下运行它。