Campi blob .net

mercoledì 07 giugno 2006 - 09.18

ricedi Profilo | Newbie

Salve, sono alla prese con questo problema: devo memorizzare un file criptato e zippato in un database sql server utilizzando vb .net. Devo poi rileggere questo file da una window form in c# e decriptarlo. Ho già risolto tutti i problemi relativi a criptatura e zippatura e viceversa, ma non riesco a gestire il campo blob. Come lo devo dichiarare? Immagine o testo?
Attualmente per la scrittura nel database utilizzo queste istruzioni e il campo blob è di tipo testo:
Dim fs As New FileStream(strPercorsoFileCompleto, FileMode.Open, FileAccess.Read)
Dim i As Integer
i = Convert.ToInt32(fs.Length)
Dim dati(i) As Byte
'Dim dati As BinaryReader

fs.Read(dati, 0, i)
fs.Close()
Dim j As Integer
Dim s As String
For j = 0 To i
s = s & dati(j)
Next
'Crea un Command per l'inserimento nella Tabella
Inserisco poi s nella tabella.

Non so se qualcuno può darmi un suggerimento . Grazie Edj

Brainkiller Profilo | Guru

>campo blob. Come lo devo dichiarare? Immagine o testo?

Ciao,
io generalmente utilizzo il campo Image che da manuale è fatto per dati di tipo binario anche se in taluni casi è necessario inserire anche nel campo Image dati testuali, ma al di là di questo come ti ho detto io userei l'image.

Riguardo la procedura di caricamento nel campo blob e scaricamento, ti consiglio questa lettura:
http://www.dotnethell.it/articles/DatabaseBLOBs.aspx

Ciao

David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/

ricedi Profilo | Newbie

Si, ho già letto l'articolo e riprodotto il codice identico, solo che winzip mi dà errore sul file riletto e confrontando con blocco note il file di partenza e quello riletto non sono uguali.

Grazie comunque

Brainkiller Profilo | Guru

>Si, ho già letto l'articolo e riprodotto il codice identico,
>solo che winzip mi dà errore sul file riletto e confrontando
>con blocco note il file di partenza e quello riletto non sono
>uguali.

Evidentemente nella procedura che hai scritto ti dimentichi di copiare alcuni byte nel DB o di rileggerli nell'operazione inversa con il risultato che alla fine hai solo un pezzo.

Ti consiglio di verificare file di partenza e file proveniente dal campo BLOB con un HexViewer in modo da vedere che parte manca.

Ciao
David De Giacomi
Microsoft MVP
http://blogs.dotnethell.it/david/
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