Ping服务器进程挂起

时间:2013-11-18 22:04:58

标签: vba ms-access-2010

我试图在使用ftp上传文件之前ping服务器。最近,一位客户抱怨说这个过程很冷。我用vbscript文件测试了ping进程,以确保计算机上没有破坏某些东西。 vbscript运行得很好。所以我从Access数据库运行脚本,它就像之前一样挂起。我在这里缺少ping exe的东西吗?

双击时运行得很好的Vbscript。

Const fsoForWriting = 2

Dim oShell, ping, strPath, strPing
Set oShell = WScript.CreateObject ("WScript.Shell")
Set ping = oShell.exec("ping -n 2 -w 750 google.com")
Do While ping.Status = 0
  WScript.Sleep 100
Loop
strPing = ping.StdOut.ReadAll
strPath = Wscript.ScriptFullName
Set objFSO = CreateObject("Scripting.FileSystemObject")
strTextFile = objFSO.GetParentFolderName(strPath) & "\PingResults.txt"
Set objTextStream = objFSO.OpenTextFile(strTextFile, fsoForWriting, True)
objTextStream.WriteLine strPing
objTextStream.Close
Set objTextStream = Nothing
Set objFSO = Nothing
Set oShell = Nothing

启动时在测试数据库上运行的VBA函数。这是挂起的代码。

Function fFtpOnline(ByVal ComputerName As String)
    On Error GoTo ErrHandler
    Dim oShell, ping
    Set oShell = CreateObject("WScript.Shell")
    Set ping = oShell.exec("cscript " & Access.CurrentProject.Path & "\" & "Test.vbs")
    Do While ping.Status = 0
        DoEvents
    Loop

    Set oShell = Nothing

Exit Function
ErrHandler:
    MsgBox Err.Description & " " & "fFtpOnline "
    Resume Next
End Function

此代码在我的计算机上正常工作,但在客户端的计算机上,代码挂起。

1 个答案:

答案 0 :(得分:0)

这听起来像是一个粗鲁的答案,但绝不是故意的。正如上面的评论所述,这很可能是客户端的问题。如果程序目前在您的工作结束而不是他们的问题,而不是代码。我遇到了大量无能为力的客户,除非他们愿意让你远程控制他们的机器,否则我建议他们为你捕捉一些信息。 ipconfig是一个很好的起点。虽然他们在命令提示符下让他们尝试ping一些地方。我知道这不是一个真正的答案,但这是我过去遇到的。

相关问题