View Full Version : [Access,C#] Inserire un Immagine nel DB memorizzato come oggetto OLE
Ciao vorrei inserire un immagine nel DB Access 2010, Immagine oggetto OLE, mi collego tramite OLEDB, non sò come impostare prd.DbType = DbType. ? ; Consigli?
Mediante l'uso di un OleDbType.Binary o OleDbType.VarBinary.
In generale salvi a DB lo Stream dell'immagine o altro.
In teoria potresti usare una Stringa che rappresenta il flusso dati dell'oggetto da salvare.
Detto ciò, in un ambito Access te lo sconsiglio. I Campi "Blob" sono una scelta da evitare nella stra-grande maggioranza dei casi, e non sono certo immuni da errore ( rischio di scrivere l'immagine nel DB e di non poterla ricostruire poi in lettura ).
Solitamente in un DB ( e maggior ragione in un file Access, che oltretutto credo mantenga anche nella ver. 2010 il famoso limite dei 2 GB... ), si salvano nomi e/o percorsi dei files di "risorsa", e NON i files stessi. I files esterni li salvi in una directory apposita o anche in un unico archivio ( Zip ) gestibile facilmente con alcune libreire gratuite per .NET, come l'ottima DotNetZip...
Quale che sia la tua scelta ricorda di usare i Parameters OleDb con Access. A tale scopo ti segnalo questo mio Articolo Blog, che penso troverai utile per questa e molte altre operazioni su Access :
http://marcoggblog.blogspot.it/2012/02/c-operazioni-base-access.html
Grazie mille per l'aiuto, non ho mai usato i "Blob" di Access, ho sempre salvato i nomi e/o percorsi dei files di "risorsa", proprio per questo ero curioso di utlizzarli per questa applicazione, ma credo che ascolterò i tuoi consigli. Grazie per avermi segnalato il tuo articolo ti faccio i complimenti davvero molto interessante.
vBulletin® v3.6.4, Copyright ©2000-2025, Jelsoft Enterprises Ltd.