How to download file from SharePoint by using SSIS Package - SSIS Tutorial / SSIS Interview questions

Scenario:

You are working as SSIS Developer and you need to download the file from SharePoint on daily basis, if the file exists in the folder you want to overwrite with new file. The file name that you need to download from the SharePoint stays the same.


Solution:

We will be using the Script Task and HTTP connection Manager in SSIS Package to download the file and write to folder in SSIS Package.

Step 1: 
Create a new SSIS Package by using BIDS or SSDT ( SQL Server Data Tools).

Step 2:
Create a variable called FilePath where you would like to save the file on local folder.
How to download File from SharePoint and Save to Local Folder in SSIS Package by using Script Task


Step 3:
Create the HTTP Connection to SharePoint File. Go to Connection Managers Pane and then right click and then choose New Connection.


How to create HTTP Connection Manager to SharePoint to download File in SSIS Package

How to download file from SharePoint by using SSIS Package by using Script Task with HTTP Connection

How to create Connection Manager to SharePoint in SSIS Package

To get the Server URL ( Path to file on SharePoint). You can go to SharePoint and then go to File and Right Click, Choose Properties and then you will see Address (URL) that is the Server URL you need to use in Connection above. Also provide the user name and password which has permission on the SharePoint File. Test the connection and it should be successful.

A new connection should be created once you click OK. You can rename if you like,I am going to leave this as it is.


Step 4: 
Bring the Script task in Control Flow Pane and open, you need to add the variable.
How to download file from SharePoint to Local Folder by using Script Task in SSIS Package


Click on Edit Script Button and then paste below script under public void Main() {



   string FilePath = Dts.Variables["User::FilePath"].Value.ToString();
   object obj = Dts.Connections["HTTP Connection Manager"].AcquireConnection(null);
   HttpClientConnection HTTPConnection = new HttpClientConnection(obj);
   HTTPConnection.DownloadFile(FilePath, true);  


Save the script and close the Editor windows. Run your SSIS Package, it should download the file. Every time you will execute the SSIS Package, it will overwrite the existing file from SharePoint file.

42 comments:

  1. It didn't work for me. I get this error: "An exception of type 'System.IO.FileLoadException' occurred in Microsoft.SqlServer.ManagedDTS.dll but was not handled in user code

    Additional information: The process cannot access the file because it is being used by another process. (Exception from HRESULT: 0x80070020)"

    What am I doing wrong?

    ReplyDelete
  2. It worked for me , but It copied the XML code into CSV file.. I have multiple files in the http URL folder...

    Please help..

    ReplyDelete
  3. we have multiple files in the document library and we need to download only specific files containing some specific characters in filename. Please help!!

    ReplyDelete
    Replies
    1. Hi, I have the same requirement as yours. Please let me know how did you solve this issue?

      Delete
  4. Awesome post I might want to thank you for the endeavors you have made in composing this intriguing and educated article. How To Download

    ReplyDelete
  5. Executed the same code but runtime error occured.
    error:
    at System.RuntimeMethodHandle.InvokeMethod(Object target, Object[] arguments, Signature sig, Boolean constructor)
    at System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj, Object[] parameters, Object[] arguments)
    at System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
    at System.RuntimeType.InvokeMember(String name, BindingFlags bindingFlags, Binder binder, Object target, Object[] providedArgs, ParameterModifier[] modifiers, CultureInfo culture, String[] namedParams)
    at Microsoft.SqlServer.Dts.Tasks.ScriptTask.VSTATaskScriptingEngine.ExecuteScript()

    ReplyDelete
    Replies
    1. Did anyone identify a solution this error? I get the same thing. Switched to using an Excel Connection Manager and I get a driver error. (The requested OLE DB Microsoft.ACE.OLEDB.12.0 is not registered....) One developer here has the Excel Connection Mgr working but two of us get the driver error. We spent hours trying to resolve that issue but were unsuccessful. This and "agile" makes me long for retirement.

      Delete
    2. Same here, it's now the problem of permission that resource.

      Delete
  6. I am thankful to you for sharing this plethora of useful information. I found this resource utmost beneficial for me. Thanks a lot for hard work. download vk videos

    ReplyDelete
  7. I have read all the comments and suggestions posted by the visitors for this article are very fine,We will wait for your next article so only.Thanks! Reddit videos downloader

    ReplyDelete
  8. I have read your article, it is very informative and helpful for me.I admire the valuable information you offer in your articles. Thanks for posting it.
    Tangki Panel
    Tangki Fiberglass
    Jual Septic Tank

    ReplyDelete
  9. Positive site, where did u come up with the information on this posting?I have read a few of the articles on your website now, and I really like your style. Thanks a million and please keep up the effective work. free downloading microsoft office 2007

    ReplyDelete
  10. I get familiar with a great deal about an individual from a look at their email inbox or record the executives framework. I as of late worked with a customer whose email inbox was, in all honesty, a wreck.7zip

    ReplyDelete
  11. I definitely enjoying every little bit of it. It is a great website and nice share. I want to thank you. Good job! You guys do a great blog, and have some great contents. Keep up the good work. cfa level 1 mock exam 2019 pdf

    ReplyDelete
  12. I get "The remote server returned an error: (403) Forbidden" even though the account i provide has admin rights. Any thoughts on this?

    ReplyDelete
  13. On the off chance that indeed, at that point a file transfer administration is the answer for your concern. transfer large files

    ReplyDelete
  14. I'm getting a 403 access error in the connector. I know my creds are good since I can download from the browser.

    ReplyDelete
    Replies
    1. Could it by multi Multi-factor authentication

      Delete
  15. This comment has been removed by the author.

    ReplyDelete
  16. I visit your blog regularly and recommend it to all of those who wanted to enhance their knowledge with ease. The style of writing is excellent and also the content is top-notch. Thanks for that shrewdness you provide the readers! convert pdf to png

    ReplyDelete
  17. I am getting below error. Please suggest how to fix
    [Connection manager "HTTP Connection Manager"] Error: SSL certificate response obtained from the server was not valid. Cannot process the request.

    ReplyDelete
  18. I am impressed. I don't think Ive met anyone who knows as much about this subject as you do. You are truly well informed and very intelligent. You wrote something that people could understand and made the subject intriguing for everyone. Really, great blog you have got here. file upload

    ReplyDelete
  19. Advances in interchanges and innovation have carried with it an off-shoot marvel that has significantly affected the manner in which people and organizations interface and manage one another.simple file sharing

    ReplyDelete
  20. Nice to be visiting your blog once more, it has been months for me. Well this article that ive been waited for therefore long. i want this article to finish my assignment within the faculty, and it has same topic together with your article. Thanks, nice share. 먹튀사이트

    ReplyDelete
  21. i am always looking for some free stuffs over the internet. there are also some companies which gives free samples. แทงบอล

    ReplyDelete
  22. Nice to be visiting your blog once more, it has been months for me. Well this article that ive been waited for therefore long. i want this article to finish my assignment within the faculty, and it has same topic together with your article. Thanks, nice share. psychiatric service dog letter

    ReplyDelete
  23. i am always looking for some free stuffs over the internet. there are also some companies which gives free samples. 메이저사이트

    ReplyDelete
  24. Keep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. cheapest web hosting indiaonohosting

    ReplyDelete
  25. Keep up the good work , I read few posts on this web site and I conceive that your blog is very interesting and has sets of fantastic information. 카지노사이트

    ReplyDelete
  26. Merely a smiling visitant here to share the love (:, btw outstanding style. 토토커뮤니티

    ReplyDelete
  27. Good post but I was wondering if you could write a litte more on this subject? I’d be very thankful if you could elaborate a little bit further. Appreciate it! 바카라사이트

    ReplyDelete
  28. Hi there! Nice post! Please tell us when I will see a follow up! Glary Utilities Pro Keygen

    ReplyDelete
  29. Thankyou for this wondrous post, I am glad I observed this website on yahoo. 먹튀검증

    ReplyDelete
  30. Nice post. I was checking constantly this blog and I’m impressed! Extremely useful info specially the last part I care for such information a lot. I was seeking this certain info for a long time. Thank you and good luck. 먹튀검증

    ReplyDelete
  31. Wow, excellent post. I'd like to draft like this too - taking time and real hard work to make a great article. This post has encouraged me to write some posts that I am going to write soon. BizOp

    ReplyDelete
  32. Good website! I truly love how it is easy on my eyes it is. I am wondering how I might be notified whenever a new post has been made. I have subscribed to your RSS which may do the trick? Have a great day! 안전놀이터

    ReplyDelete
  33. Thankyou for this wondrous post, I am glad I observed this website on yahoo. 토토사이트

    ReplyDelete
  34. You made such an interesting piece to read, giving every subject enlightenment for us to gain knowledge. Thanks for sharing the such information with us to read this... 릴게임

    ReplyDelete
  35. Efficiently written information. It will be profitable to anybody who utilizes it, counting me. Keep up the good work. For certain I will review out more posts day in and day out. 온라인릴게임

    ReplyDelete