它很简单但很容易让人头疼。我怎样才能做到这一点 ?我最初的想法是使用bat文件,然后将其添加为SSIS中的任务。
问题是复制,xcopy或robcopy不起作用?
robocopy“http://wpcfs.corp.xx.com/xxx/xxx/BEP/xxx/documents/EB%20Bus%20Ops%20Points%20of%20Contact.xlsx”“C:\ Imports \”
有什么想法吗?
答案 0 :(得分:2)
如果要从网站下载,则可以使用SSIS脚本通过WebClient,WebRequest或HTTP连接管理器下载文件。通过HTTP连接管理器on this blog下载了一个非常全面的示例。博客评论还包括我在下面列出的代码,它通过WebRequest / WebResponse下载数据。您也可以使用更直接的WebClient,但我发现使用WebClient下载我能够通过WebRequest / WebResponse方法避免使用的大文件时遇到了问题。
Imports System.IO
Imports System.Net
Imports System.Text
Imports System.Web
Public Class WebRetrieve
Public Shared Sub Main()
Dim wr As HttpWebRequest = CType(WebRequest.Create("https://reports/reports.txt"), HttpWebRequest)
Dim ws As HttpWebResponse = CType(wr.GetResponse(), HttpWebResponse)
Dim str As Stream = ws.GetResponseStream()
Dim inBuf(100000000) As Byte
Dim bytesToRead As Integer = CInt(inBuf.Length)
Dim bytesRead As Integer = 0
While bytesToRead > 0
Dim n As Integer = str.Read(inBuf, bytesRead, bytesToRead)
If n = 0 Then
Exit While
End If
bytesRead += n
bytesToRead -= n
End While
Dim fstr As New FileStream("c:\New\reports.txt", FileMode.OpenOrCreate, FileAccess.Write)
fstr.Write(inBuf, 0, bytesRead)
str.Close()
fstr.Close()
End Sub
End Class
答案 1 :(得分:0)