Integration Services - Problemi con classe framework 2.0 ICSharpCode....

martedì 20 ottobre 2009 - 11.52

perla0279 Profilo | Senior Member

Ciao
ho creato con Integration Services uno script per la creazione di un file zip usando la classe del framework 2.0
ICSharpCode.SharpZipLib

Quando eseguo il pack dal mio pc funziona tutti correttamente, invece quando lo eseguo dal server (schedulandolo in sql 2005) mi restituisce questo errore:
"Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies."

Dove posso verificare se la libreria è installata correttamente sul server?'

alx_81 Profilo | Guru

>Ciao
>ho creato con Integration Services uno script per la creazione
>di un file zip usando la classe del framework 2.0
> ICSharpCode.SharpZipLib
ciao, prova a leggere qui:
http://community.sharpdevelop.net/forums/t/924.aspx
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

Ho guardato il post che mi hai mandato, ma penso non sia quello il problema perchè usiamo già quella libreria in un altro processo e funziona correttamente.

solo che nell'altra patch facciamo il contrario (praticamente decomprimiamo un file zip)....... in questa patch invece creiamo un archivio zip.
Vi posto anche il codice usato:


Public Sub Main()
'Definisce la classe del controllo di CRC
Dim Crc As SharpZipLib.Checksums.Crc32 = New SharpZipLib.Checksums.Crc32

'Definisce lo stream di output dove scrivere l'archivio zip

Dim zippa As SharpZipLib.Zip.ZipOutputStream = _
New SharpZipLib.Zip.ZipOutputStream(System.IO.File.Create("f:\file1.zip")) 'zippa.SetLevel(9)

'Definisce lla variabile che contiene il file che vogliamo zippare
Dim f As String = "f:\data\I\file1.txt"
'Definisce una variabile che contiene lo stream del file di origine
Dim fileaperto As FileStream = System.IO.File.OpenRead(f)
'Definisce una variabile di tipo byte della grandezza pari alla lunghezza del file originale
Dim contenitore() As Byte = New Byte(CInt(fileaperto.Length)) {}
'Questa variabile è molto importante perchè definisce una nuova entry nel file dell'archivio ZIP
Dim z As SharpZipLib.Zip.ZipEntry = New SharpZipLib.Zip.ZipEntry(System.IO.Path.GetFileName(f))

'Mette il contenuto dello stream in un contenitore di byte
fileaperto.Read(contenitore, 0, contenitore.Length)
'Imposta la data di compressione.
z.DateTime = DateTime.Now
'Imposta la dimensione del file originale
z.Size = fileaperto.Length + 1
'Chiude la variabile che contiene il lo stream del file originale
fileaperto.Close()
'Azzera la checksum
Crc.Reset()
'Imposta un nuovo valore per la checksum che dipende dai byte del file originale
Crc.Update(contenitore)
'Imposta il valore della CRC nella compressione
z.Crc = Crc.Value
'Inserisce nell?archivio ZIP una nuova entry
zippa.PutNextEntry(z)
'Effettua di fatto la compressione del file scrivendo nella nuova entry create al passo precedente il file comrpesso.
zippa.Write(contenitore, 0, contenitore.Length)
'Chiude lo stream del file di output e lo svuota dopo aver fisicamente salvato nel file ZIP i risultato della compressione.
zippa.Finish()
'Rilascia la variabile.
zippa.Close()

Dts.TaskResult = Dts.Results.Success



Ho fatto un sacco di prove ma non riesco a capire dove possa essere il problema..........

L'errore che mi viene fuori adesso sempre è :
Message
Executed as user: W2K3DWH\SYSTEM. Microsoft (R) SQL Server Execute Package Utility Version 9.00.3042.00 for 64-bit Copyright (C) Microsoft Corp 1984-2005. All rights reserved. Started: 10.05.03 Error: 2009-10-21 10:05:03.49 Code: 0x00000002 Source: ZIP Description: The script threw an exception: Could not load file or assembly 'ICSharpCode.SharpZipLib, Version=0.85.5.452, Culture=neutral, PublicKeyToken=1b03e6acf1164f73' or one of its dependencies. The system cannot find the file specified. End Error DTExec: The package execution returned DTSER_FAILURE (1). Started: 10.05.03 Finished: 10.05.03 Elapsed: 0.203 seconds. The package execution failed. The step failed.

e da qui non riesco a muovermi.

alx_81 Profilo | Guru

>Ho fatto un sacco di prove ma non riesco a capire dove possa
>essere il problema..........
hai provato a guardare il log? Puoi far tracciare quello che succede. Comunque, probabilmente hai problemi con una dipendenza della libreria principale. Attiva il debug e controlla cosa ti dice (magari non provarlo con ssis ma con una winapp).
--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

winapp ???
come faccio a provarlo con questo sistema .... perchè con VisualStudio non mi da nessun errorre in debug, ma funziona corwettamente.... quando la schedulo invece mi da quell'errore

alx_81 Profilo | Guru

>winapp ???
sì, un progetto di test per provarlo

>come faccio a provarlo con questo sistema .... perchè con VisualStudio
>non mi da nessun errorre in debug, ma funziona corwettamente....
>quando la schedulo invece mi da quell'errore
questo è strano.. sembra quasi un problema di permission..

--

Alessandro Alpi | SQL Server MVP

http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.support.microsoft.com/profile/Alessandro.Alpi
http://italy.mvps.org

perla0279 Profilo | Senior Member

ho creato un progetto test......... ma se lo lancio da li funziona :-)

Infatti per farlo fino ad ora l'ho lanciato manualmente, solo che adesso avrei l'esigenza che sia schedulato in modo automatico..... perchè manualmente se ci dimentichiamo è un disastro.

Solo che manualmente mi da errore..... penso di aver provato tutti gli utenti disponibili sul server.... ma niente mi dà sempre lo stesso errore
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?

Dopo esserti registrato potrai chiedere
aiuto sul nostro Forum oppure aiutare gli altri

Consulta le Stanze disponibili.

Registrati ora !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5