Newsgroup: it.comp.www.asp
Titolo: Come scrivere un file in un database MS SQL?

Ciao a tutti.
Ho necessità assoluta di salvare dei files in una tabella SQL.
Bene, ho creato l'apposito campo IMAGE ma ho cercato e ricercato e non ho
trovato il metodo per raccogliere il file in input e scriverlo dentro il
database.
Da qualche parte ho visto un certo ADODB.Stream ma nessun esempio concreto.
Qualcuno che usa questa tecnica di memorizzazione potrebbe postarmi un
esempio?
Grazie Ciao

 ha scritto nel messaggio
news:0WuZa.236748$lK4.7...@twister1.libero.it...

ti conviene utilizzare appendchunk per maggiori info con esempio consulta
SQL Server Books Online
(mk:@MSITStore:C:\Programmi\Microsoft%20SQL%20Server\80Tools\Books\
adosql.ch
m::/adoprg03_8hmb.htm)
-- 
ITHost (your host company)
Technical Manager
C. Paparelli (MCSE,MCSD,MCDBA)
http://www.ithost.ch

per leggere i file meglio qualcosa del genere
<img src='preview.ASP?ID=<%=Request("ID") %>&ID2=<%=Request("ID2") %>'>
-----------------------------------------------------------------------
<%
   ' -- file.asp --
   ' Retrieves binary files from the database
   Response.Buffer = True
   ' ID of the file to retrieve
   Dim ID
      ID = Request("ID")
   Dim DBR
      DBR = Request("ID2")
   IF IsNumeric(ID) and Trim(DBR) <> "" then
 Visualizza
   End IF
Sub Visualizza
   ' Connection String
   Dim connStr
     Set connStr=Server.CreateObject("ADODB.Connection")
     connStr.Open DBR
   ' Recordset Object
   Dim rs
      Set rs = Server.CreateObject("ADODB.Recordset")
      ' opening connection
      rs.Open "select Immagine,NomeImmagine from Prodotti where IDProdotto
=" & ID, connStr, 2, 4
      If Not rs.EOF Then
  Select Case right(UCASE(rs("NomeImmagine")),4)
  Case ".BMP"
       Response.ContentType = "image/bmp"
  Case ".GIF"
       Response.ContentType = "image/GIF"
  CASE ".JPG","JPEG"
       Response.ContentType = "image/JPEG"
   Case else
       Response.ContentType = "image/bmp"
  End Select
         Response.BinaryWrite rs("Immagine")
      End If
      rs.Close
      Set rs = Nothing
End Sub
%>

questo è fatto in vb6 ma dovrebbe andare benone
Public Sub Salva(Nomedb As String, Idn As Long)
Dim rs As DAO.Recordset
Dim db2 As DAO.Database
Dim fd, flen
Dim chunk() As Byte
Dim fileNome
Dim fnome
Mpath = Nomedb
Nid = Idn
On Error GoTo OpenImageErr
    Image1.Picture = LoadPicture("c:\pippo.bmp")
  Set db2 = DBEngine.OpenDatabase(Nomedb, , , ";pwd=")
  Set rs = db2.OpenRecordset("Select Immagine,NomeImmagine From Prodotti
WHERE IDProdotto =" & Idn)
  If rs.EOF Then Exit Sub
    fd = FreeFile
    Open fileNome For Binary Access Read As fd
    flen = LOF(fd)
    If flen = 0 Then
        Close
        MsgBox "Error while opening the file"
    End If
    ' Get the blob object into the chunk variable
    ReDim chunk(1 To flen)
    Get fd, , chunk()
    ' Store it in the database
    rs.Edit
    rs!Immagine = chunk()
    rs!NomeImmagine = fnome
    rs.Update
 Close fd
 rs.Close
 db2.Close
    Exit Sub
OpenImageErr:
    'No file opened
    Exit Sub
End Sub
Public Sub Carica(Nomedb As String, Idn As Long)
Dim rs As DAO.Recordset
Dim db2 As DAO.Database
Dim chunk() As Byte
Dim flen, fd
Mpath = Nomedb
Nid = Idn
  Set db2 = DBEngine.OpenDatabase(Nomedb, , , ";pwd=")
  Set rs = db2.OpenRecordset("Select Immagine,NomeImmagine From Prodotti
WHERE IDProdotto =" & Idn)
  If rs.EOF Then Exit Sub
    If IsNull(rs!NomeImmagine) Then
       Image1.Picture = LoadPicture()
       Exit Sub
    End If
    flen = rs!Immagine.FieldSize
    If flen = 0 Then
        Image1.Picture = LoadPicture()
        Exit Sub
    End If
    ReDim chunk(1 To flen)
    ' Get it from the database
    chunk() = rs!Immagine
    ' ...and put it into the file
    fd = FreeFile
    Open "Imm.tmp" For Binary Access Write As fd
    Put fd, , chunk()
    Close fd
    rs.Close
    db2.Close
    Image1.Picture = LoadPicture("Imm.tmp")
    Kill "Imm.tmp"
Exit Sub
Errore:
 MsgBox "ERRORE"
End Sub