Create Zip File with Date and Keep adding files to it after loading for the same day in SSIS Package - SQL Server Integration Services(SSIS) Package

Scenario:

We get multiple files during a day and night. we have scheduled to run our SSIS Package every hour. We want to create a Zip file per day and then keep adding the files to it after loading in the same day. Next day a new Zip file should be automatically created and files should be copied to that after loading.


Solution:

In this video we will learn the solution for our scenario " How to Create A Zip File with Date Per day and add files to it after loading in SSIS Package". Below are the list of items we will learn in this video


  1. How to Create Package Parameters for InputFolder and ArchFolder so we can change the values of them according to the environment ( QA, UAT, Prod) and we don't have to make any changes in the SSIS Package. 
  2. How to use Foreach Loop Container to look through files in SSIS Package
  3. Save File name in FileName Variable From Foreacah Loop Container
  4. How to Change .NET Framework 4 to 4.5
  5. How to add reference to Assemblies such as System.IO.Compression and System.IO.Compression.FileSystem
  6. Create empty Zip File by using Script Task
  7. Add file to Zip file by using Script task in SSIS Package


Script used in Script Task to Create Zip file with Date and Add Files to Zip File in SSIS Package


public void Main()
        {


            //Assign values to local variable from SSIS Package Parameters and Variables
            string zipfile = Dts.Variables["User::ArchFullPath"].Value.ToString();
            string ArchFolder = Dts.Variables["$Package::ArchFolder"].Value.ToString();
            string filename = Dts.Variables["User::FileName"].Value.ToString();
            string inputfilepath = Dts.Variables["$Package::InputFolder"].Value.ToString() + filename;


            //If zip File already exist for the same day, just add the files to it
            if (
            File.Exists(zipfile))
            {
                MessageBox.Show(" Zip File does Exists");
                using (ZipArchive addfile = ZipFile.Open(zipfile, ZipArchiveMode.Update))
                {
                    addfile.CreateEntryFromFile(inputfilepath, filename);
                    File.Delete(inputfilepath);
                }

                //If zip file does not exist for the day, create it and add files to it
            }
            else
            {
                MessageBox.Show("File Does not exists");
                var fileStream = new FileStream(zipfile, FileMode.Create);
                fileStream.Close();

                using (ZipArchive addfile = ZipFile.Open(zipfile, ZipArchiveMode.Update))
                {
                    addfile.CreateEntryFromFile(inputfilepath, filename);
                    File.Delete(inputfilepath);
                }

            }


            Dts.TaskResult = (int)ScriptResults.Success;
        }

Expressions for ArchFullPath Variable:
@[$Package::ArchFolder]+Replace(Substring((DT_WSTR,30)GEtdate(),1,10),"-","_")+".zip"






16 comments:

  1. Hi Sir,

    Could you please create a post which will convert csv file to password protected using ssis

    Regards,
    Anmol

    ReplyDelete
  2. This comment has been removed by the author.

    ReplyDelete
  3. Now I know that I was reading a blog with a post that is very commete. Thank you for sharing the information you post. I just subscribe to your blog. This is a great blog.adding therapists

    ReplyDelete
  4. Normally, presumed file transfer specialist co-ops acknowledge installment through Visa or Paypal.transfer files

    ReplyDelete
  5. I know this is one of the most meaningful information for me. And I'm animated reading your article. But should remark on some general things, the website style is perfect; the articles are great. Thanks for the ton of tangible and attainable help. convert pdf to png

    ReplyDelete
  6. This particular is usually apparently essential and moreover outstanding truth along with for sure fair-minded and moreover admittedly useful My business is looking to find in advance designed for this specific useful stuffs… video upload

    ReplyDelete
  7. This method saved me so much time. convert pdf to png is able to search a large document after following these steps. Thank you!!

    ReplyDelete
  8. 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
  9. Cool stuff you have got and you keep update all of us. 메이저사이트

    ReplyDelete
  10. Someone Sometimes with visits your blog regularly and recommended it in my experience to read as well. The way of writing is excellent and also the content is top-notch. Thanks for that insight you provide the readers! 카지노사이트검증

    ReplyDelete
  11. I really like your writing style, great information, thankyou for posting. 먹튀검증

    ReplyDelete
  12. 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
  13. I got too much interesting stuff on your blog. I guess I am not the only one having all the enjoyment here! Keep up the good work. website

    ReplyDelete
  14. i am always looking for some free stuffs over the internet. there are also some companies which gives free samples. 안전놀이터

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

    ReplyDelete
  16. We are really grateful for your blog post. You will find a lot of approaches after visiting your post. I was exactly searching for. Thanks for such post and please keep it up. Great work. 릴게임

    ReplyDelete