将xml文件从一个FTP传输到另一个FTP

时间:2014-09-25 11:46:05

标签: vb.net

我正在尝试将我的文件从一个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

0 个答案:

没有答案