The UnZip Task is now stable, but please submit suggestions for new features.
Disclaimer
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
Downloads:
You can download a SSIS 2008 and 2012 version on the download page.
BETA2: UNC path support, cancel variable window bug solved.
BETA3: Various validations added, New option added to store unzipped filepath in variable.
BETA4: Switched to DotNetZip for the actual unzipping * Probably last beta version before official release. *
V1.0: Bug solved that didn't validate driveletters with smallcaps
V1.1: Option added to delete zip file after unzipping it (see properties). Code added for easier upgrading to new release.
V1.2: SSIS 2016 added and now upgradable. Added 64 installer.
The installer registers the DLL in the GAC and copies it to the task folder of SSIS (example: C:\Program Files\Microsoft SQL Server\100\DTS\Tasks\). After that you have to close Visual Studio/BIDS because it caches the GAC on startup. Restarting SQL Server Data Tools is not necessary.
How add the task the the toolbox (2008 only)
When you open a SSIS project in Visual Studio/Bids, right click the toolbox and choose "Choose Items...". After this Visual Studio will be busy for a couple of seconds!
Right click toolbox |
When the Choose Toolbox Items window appears, go to the SSIS Control Flow Items and search for the newly installed UnZip Task and select it. Click ok to finish.
Choose Toolbox Items |
Now the new task will appear in the toolbox. Ready to use! Have fun.
New task added |
Bugs or feature suggestions
Please contact me or leave a comment if you have any suggestions or found a bug in this Custom task.
Minor bug in beta: if you cancel the add variable window, it will also cancel the editor window.
ReplyDeleteThanks for reporting. I have solved it and it will be in the next release.
DeleteHello, sweet program, however I selected a .zip from my directory, and pointed at the same directory to place the .csv file out of it. It errored out and said incorrect file type...but it is a .zip
ReplyDeleteHi Andrew,
DeleteThanks for reporting the bug. Did you use variables or file connection managers?
Regards,
Joost
Actually, the file is supported. However, when the file is on a server, it can't be referenced, when it is on my local hard drive it works just fine. Is there a problem with security here?
ReplyDeleteYes, exactly.
DeleteI have found the bug. Testing the format of the path isn't working with network shares starting with \\
DeleteWill try to solve this tomorrow and upload a new version. Thanks again for reporting the bug.
Thanks for the help. I'll be looking on this blog post for the new version tomorrow! That'd be awesome.
DeleteI have made some changes in the path format checking so that UNC path will pass the test. In the next version I will also add that validation to the editor (now it's only doing it on runtime).
DeleteI'm assuming I just need to log in to my servers and install the DLL's...I will try this.
ReplyDeleteYes you need to install it on the server as well.
DeleteI expect a new version this weekend. That will probably be the last beta version before I will release a final version.
One last question :) By uninstalling the program from Add/Remove does that also uninstall all related DLL's and other files...
DeleteYes, uninstalling will remove the 2 dll's from the sql folder and the 3 dll (2 for task and 1 unzip lib) from the GAC. So eveything will be the same as before installing the task.
DeleteWhen adding a new variable or connection manager, they aren't added to the other lists. They only appear after closing and re-opening the task.
ReplyDeleteHi Anonymous,
DeleteThanks for reporting. I solved this in Beta 3.
Regards,
Joost
I'm receiving following error: [UnZip Task] Error: Unzip error: Wrong Local header signature: 0x8088B1F. Any ideas on what it may be?
ReplyDeleteHi Anonymous,
DeleteI think the SharpZipLib library that I used doesn't handle all zip files. I had some problems with it while creating my Zip Task. Give me a couple of days to switch to the same library as my zip task. Watch this page or follow me on twitter @ssisjoost
Hi Anonymous,
DeleteI uploaded a new version. Let me know if it works for you.
Regards,
Joost
When I try to install Beta 4 version it gives me error: Couldn not access network location Taks\. Any ideas?
DeleteDid you run the installer as administrator?
Deleteyes, I did
DeleteDid previous versions install without problems? It seems you don't have access to the task folder of sql server. What folder is showing in the installer? Should be something like:
DeleteC:\Program Files (x86)\Microsoft SQL Server\110\DTS\Tasks\
Getting the same error. Downloaded the 2014 version. Attempting to run on Win2008R2 with SQLServer2008R2 and BIDS2008. Running as Admin. I granted Modify perms to all folders in the below path:
DeleteC:\Program Files (x86)\Microsoft SQL Server\110\DTS\Tasks\
However, the installer is showing the following path when displaying error:
Tasks\
Any ideas?
@Jeremy what about installing the 2008 version since you use SSIS 2008?
Delete*facepalm
DeleteWorks. Thanks.
:-)
DeleteCan I ask whether this unzips .gz files or just .zip files? Thanks!
ReplyDeletefor now just traditional zip. If there is a high demand for other types then I will consider it for next versions.
DeleteI woud also need to unzip *.gz files :) Thanks!
DeleteHello, I am getting this error when I try to run one of my jobs that uses Task UnZip as part of the SSIS package. Please advise:
ReplyDeleteMicrosoft (R) SQL Server Execute Package Utility Version 11.0.2100.60 for 64-bit Copyright (C) Microsoft Corporation.
All rights reserved.
Started: 7:14:39 AM
Error: 2012-11-16 07:14:41.61
Code: 0xC0010018
Source: Unzip Task
Description: Failed to load task "Unzip Task", type "".
The contact information for this task is "Marc Potters and Joost van Rossum, Ilionx Noord Nederland.". End Error
Error: 2012-11-16 07:14:41.70
Code: 0xC0010026
Source: Unzip Task
Description: The task has failed to load.
The contact information for this task is "Marc Potters and Joost van Rossum, Ilionx Noord Nederland.".
End Error
Error: 2012-11-16 07:14:41.70
Code: 0xC0024107
Source: Unzip Task
Description: There were errors during task validation.
End Error DTExec: The package execution returned DTSER_FAILURE (1).
Started: 7:14:39 AM
Finished: 7:14:41 AM Elapsed: 2.293 seconds.
The package execution failed. The step failed.
I do have confirmation that the UnZip Task was installed on the server.
Hi Anonymous,
DeleteCould you please contact me via the form. I need some additional info like version of the unzip task. And let me know if you're using variables or connection managers.
Regards,
Joost
Hello Joost,
DeleteSorry for the late response, I was working blind (not able to develop on production, which is where I was getting the error.) But I was able to resolve it with no issues. It had to do with variables in the end.
Thanks for the quick response and the great tool!
D:\folder validates, but d:\folder not.
ReplyDeleteThank you for reporting this bug. It is now solved.
DeleteI am trying to unzip 5 zip files in a folder 'D:\zipfiles' so I am trying to use this task within the Foreach loop task, and I am passing the file naue using variable, but it throws an error when I try to do it and doesn't accept the file name using this way.
ReplyDeletePlease advise how can I do it.
Make sure there is a valid value in the variable or use the DelayValidation option.
DeleteI am guessing no, but would this work on SQL Server/BIDS 2005?
ReplyDeleteNo it's not working for 2005, but there are others: http://taskunzip.codeplex.com/
DeleteHello, could you please help on the following:
ReplyDeleteI'm unzipping the zip archive to folder, but there are 3 files in it.
I want to get all the three file names in a variable to process all of them further.
But I get only one (last in the list) file name.
Is there a way to get all file names?
Thanks
That option is only useful if you have only one file to unzip.
DeleteIf they all have the same format then you could use a Foreach File Enumerator to loop through the unzipped files and process them.
If they don't have the same format you could unzip only one file at a time (use the filters) and then you can use that option to store the filepath in a variable.
I woud also like to unzip *.gz files. Can I fix this myself or you must upload new setup? Thanks for replay. Aleš
ReplyDeletegz is not (yet) supported. Perhaps in future if more people request this feature...
DeleteHi,
ReplyDeleteI’ve just downloaded the unzip task which works fine on my local machine. As soon as I run it as a job on my production server I get this error message
bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 01:37:22 Error: 2013-11-19 01:37:22.35 Code: 0xC0010018 Source: Unzip Task Description: Failed to load task "Unzip Task", type "ilionx.SSIS.Tasks.UnZip, ilionx.SSIS.Tasks.UnZip, Version=1.0.0.0, Culture=neutral, PublicKeyToken=e6e8a670e7afaeac". The contact information for this task is "Marc Potters and Joost van Rossum, Ilionx Noord Nederland.". End Error Error: 2013-11-19 01:37:22.37 Code: 0xC0010026 Source: Unzip Task Description: The task has failed to load. The contact information for this task is "Marc Potters and Joost van Rossum, Ilionx Noord Nederland.". End Error Error: 2013-11-19 01:37:22.37 Code: 0xC0024107 Source: Unzip Task Description: There were errors during task validation. End Error Error: 2013-11-19 01:37:22.37 Code: 0xC0010025 Source: UnZipFTPFile Description: The package cannot execute because it contains tasks that failed to load. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 01:37:22 Finished: 01:37:22 Elapsed: 0.219 seconds. The package execution failed. The step failed.
Did you install the unzip add-onon your production server?
DeleteThanks, for your quick reply - I will install the add- on on our production server.
ReplyDeleteHi, Quick question, once I install the add-on on our production server - how will this affect the other packages that are on that server which use the foreach loop and does not have the FTP File option in the Foreach Enumerator, as I don’t want to break other peoples packages on the production server.
ReplyDeleteAs long as the other packages don't use older versions of the component you are about to install there is no problem! It won't affect packages that don't use the ftp enumerator.
DeleteHi Joost,
ReplyDeleteThank you very much for creating this tool - I have sent an email via your contact form, however thought I would also post here in case anyone else is having the same issue. I am trying to unzip files created and compressed by a mainframe, using (I think) a "shrink" command. These files unzip correctly using WinRAR, however I am rebuilding the distribution application and need to unzip using SSIS. When I use your tool, I get the following error. Do you have any plans to include different methods of compression/uncompression to your tool?
SSIS package "RCMS.dtsx" starting.
Error: 0x0 at Unzip Task, UnZip Task: Unzip error: Entry CBF.TXT uses an unsupported compression method (0x01, Shrink)
Task failed: Unzip Task
What is the exact format of the compressed file? Is it a zip file and can you unzip/open it in windows without tools like winrar or 7zip? The library I use (http://dotnetzip.codeplex.com/) only supports zip files.
DeleteHi
ReplyDeleteCan you please help? I'm new to SSIS so I'm still finding my way, your Unzip component is really useful however I'm struggling to use a fore reach loop and variables to set the name of the ZIP file to be unzipped (I need to unzip a single daily file with a name that changes every day).
Your help with this would be much appreciated.
Thanks
You can use the variable from the foreach loop as a source in the Unzip task. Make sure the variable is filled with a default value like d:\yourfile03272014.zip so that the task can validate the values.
DeleteI am expecting to receive the zip file with different names everytime for example. HSB_20142404.zip and next day i would get HSB_20142405.zip so basically I would need to pickup the zip file and unzip it regardless of wht the name is (Dynamically point to the zip file and extract it).. Can someone please help me step by step.
ReplyDeleteEither use an expression to determine the filename or if it's the only file in the folder then you could use a Foreach Loop to get the filename/path.
DeleteDoes you unzip task work with .gz archives or is that functionality you never added?
ReplyDeleteIf there is a high demand for it and there are no alternatives then I will consider adding it. At the moment I got 3 requests.
DeleteOkay, thanks.
DeleteHi Joost,
ReplyDeleteI have installed the SQL2012 version 1.1 on my DEV machine and everything works fine. I have had a DBA install the same version on a test server but the package fails with no clear error. Just to contact you ;o) The error is the same as the one from PrincessZea12 on nov 19 2013 a few posts up.
The zip from your download page has a .exe as well as a .msi. I used the msi. Is the exe different? Should my dba restart anything on the server after installing?
Cheers and thx,
Erik
Hi,
ReplyDeleteMake sure the DBA uses admin rights to install, because the 2 DLL's will go in the GAC and in a sub folder of program files. Also make sure that the given path is correct. It should point to an existing folder.
I Always use the setup.exe, but I think it just calls the msi file (it's an installer project from visual studio which creates both)
Hi Joost,
ReplyDeleteThis is a great utility !!!
I installed recent version Unzip Task on SQL Server 2014 and keep getting the following error. Could you please help me to resolve this issue. Any assistance will be greatly appreciated...
"Unzip SiteLink DB Backup:Error: The task has failed to load. The contact information for this task is ""Marc Potters and Joost van Rossum, Ilionx Noord Nederland."".
"
Sorry for the late reply, but try the new version. If that still fails contact me via the contact form in the menu.
DeleteGreat. Thanks for your response. I will check the newer version and get back to you if I still encounter issues.
DeleteHi Joost,
ReplyDeleteI am using your beautiful unzip task on a Virtual machine hosted on Azure. I have to install the unzip task again on another VM but I get the following error when running the setup file:
Cannot access network location Tasks\.
Do you have any suggestions?
Thanks in advance!
Try the new version (1.2). That installer doesn't use the registry to get the task folder of SSIS.
DeleteHi. i am using visual studio 2017 with SQL 2017. i tried installing your 2016 (2017 not avail) and also go into the DTS/task folder to copy th 2 dll folder into the 140 SQL server folder but it doesnt work....as in i cannot see the unzip task.
ReplyDeleteYou have any quick fix for it to be working?, thanks