Загрузка файла с http-сайта в мой локальный файл с использованием служб SSIS? - PullRequest
1 голос
/ 06 января 2012

Это звучит просто, но оказывается головной болью. Как я могу это сделать ? Моя первоначальная идея состояла в том, чтобы использовать файл bat, а затем добавить его в качестве задачи в SSIS.

Проблема в том, что copy, xcopy или robcopy не работают?

robocopy "http://wpcfs.corp.xx.com/xxx/xxx/BEP/xxx/documents/EB%20Bus%20Ops%20Points%20of%20Contact.xlsx"" C: \ Imports \ "

Есть идеи?

Ответы [ 2 ]

2 голосов
/ 06 января 2012

Если вы хотите загрузить с веб-сайта, вы можете использовать скрипт SSIS для загрузки файлов через WebClient, WebRequest или через HTTP Connection Manager. В этом блоге есть довольно подробный пример загрузки через HTTP Connection Manager . Комментарии блога также включают код, который я перечислил ниже, который загружает данные через 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
0 голосов
/ 06 января 2012

Вы можете использовать wget для Windows, чтобы загрузить файл

отметьте this

после установки wget

wget URL 

загрузит файлв текущем каталоге

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...