我正在尝试将我的文件从一个FTP发送到另一个。通过调试将数据放在其他FTP上,但是当我通过调度程序运行它时,它会运行。但是文件不能放在其他FTP上。 我还附上了我的代码:
Private Sub btnGenerateXML_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnGenerateXML.Click
Try
Dim strconn As String
Dim orclstr As String
Dim ds As New DataSet
Dim prvMBL As String = String.Empty
MyConnection = New SqlConnection("server=" & serverName & ";database=" & dbName & ";User Id=" & userId & ";Password=" & userPassword & ";Connect Timeout=0;")
myDataAdapter = New SqlDataAdapter("SELECT filename FROM NewMasterDEtail where bitFTP = 0 ", MyConnection)
myDataAdapter.Fill(ds)
For Each dr As DataRow In ds.Tables(0).Rows
''MsgBox("started")
GenrateScriptFTP123(dr(0))
Dim updateStr As String = String.Empty
updateStr = "update newmasterdetail set bitFTP=1 where filename='" & dr(0) & "' "
myCommand = New SqlCommand(updateStr, MyConnection)
If myCommand.Connection.State = ConnectionState.Open Then myCommand.Connection.Close()
myCommand.Connection.Open()
myCommand.ExecuteNonQuery()
myCommand.Connection.Close()
Next
MyConnection.Close()
End
Catch ee As Exception
MsgBox(ee.Message)
End Try
End
End Sub
Public Sub GenrateScriptFTP123(ByVal flname As String)
Try
'System.AppDomain.CurrentDomain.BaseDirectory()
'''''''''''''''''' LAtest code
''File.Delete(System.AppDomain.CurrentDomain.BaseDirectory() & "XMLResult\ScriptFTP.bat")
''Dim batchFile As New StreamWriter(System.AppDomain.CurrentDomain.BaseDirectory() & "XMLResult\ScriptFTP.bat")
' ''MsgBox("entered ")
''''''''''''''''''''''''''''''''''
File.Delete("W:\XMLResult\ScriptFTP.bat")
' ''MsgBox("middle")
Dim batchFile As New StreamWriter("W:\XMLResult\ScriptFTP.bat")
''File.Delete("Z:\XMLResult\ScriptFTP.bat")
''Dim batchFile As New StreamWriter("Z:\XMLResult\ScriptFTP.bat")
batchFile.WriteLine("@echo off")
batchFile.WriteLine("echo user TCDACHS700> ftpcmd.dat")
batchFile.WriteLine("echo MUCIND13>> ftpcmd.dat")
'batchFile.WriteLine("echo LCD " & System.AppDomain.CurrentDomain.BaseDirectory() & "xmlresult>> ftpcmd.dat") '''''''Latest Code
batchFile.WriteLine("echo LCD W:\xmlresult>> ftpcmd.dat")
batchFile.WriteLine("echo ASCII>> ftpcmd.dat")
batchFile.WriteLine("echo cd in>> ftpcmd.dat") ''''''''''''''''''''''''''''''''' New Command
batchFile.WriteLine("echo put " & flname & ".xml>> ftpcmd.dat")
batchFile.WriteLine("echo quit>> ftpcmd.dat")
''''batchFile.WriteLine("ftp -n -s:ftpcmd.dat 172.20.48.129") '''''''' Latest Config
batchFile.WriteLine("ftp -n -s:ftpcmd.dat myftp.dachser.com")
'batchFile.WriteLine("ftp -n -s:ftpcmd.dat 212.184.23.99")
batchFile.WriteLine("del ftpcmd.dat")
batchFile.Close()
''''''''''''''''''''''''''''''Lstest Code'''''''''''''''''''''''''''''''''''''''''''''''
''Dim psi As New ProcessStartInfo(System.AppDomain.CurrentDomain.BaseDirectory() & "XMLResult\ScriptFTP.bat")
'''''''''''''''''''''''''''''''''''''
Dim psi As New ProcessStartInfo("W:\XMLResult\ScriptFTP.bat")
psi.RedirectStandardError = True
psi.RedirectStandardOutput = True
psi.CreateNoWindow = False
psi.WindowStyle = ProcessWindowStyle.Hidden
psi.UseShellExecute = False
Dim process As Process = Diagnostics.Process.Start(psi)
process.WaitForExit()
If process.HasExited Then
End If
'' ''Dim output As String = process.StandardOutput.ReadToEnd
'' ''If output.IndexOf("Not connected") > 0 Then
'' ''End If
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'' ''System.Threading.Thread.Sleep(10000)
'File.Delete("D:\XMLResult\ScriptFTP.bat")
Catch ex As Exception
MsgBox(ex.Message)
End Try
End Sub