Archivos

Hola, necesito ayuda por favor.
Necesito guardar cualquier archivo en base de datos sql server 2000 o oracle 8i, se que se tiene que convertir a binary, pero ¿Cómo? Y luego como lo saco.
Te agradecería tu ayuda pues no se como hacerlo y me urge.
Gracias

1 respuesta

Respuesta
1
Te paso un código que me encontré por ahí no recuerdo donde pero me sirvió para guardar archivos binarios en campos OLE de Access (Mp3, Avi, Jpg, Bmp, Etc)
Ojala te sirvan Son dos el que Guarda y el que Recupera.
Ponlos en un Modulo
'General
Dim DataFile As Integer
Dim Chunk() As Byte
Const conChunkSize As Integer = 16384
Public Sub GuardarBinary(CampoBinary As Field, unPicture As Object)
Dim Contador As Integer
Dim Fragment As Integer, F1 As Long, Chunks As Integer
SavePicture unPicture.Picture, "pictemp"
DataFile = FreeFile
Open "pictemp" For Binary Access Read As DataFile
F1 = LOF(DataFile)
If F1 = 0 Then Close DataFile: Exit Sub
Chunks = F1 / conChunkSize
Fragment = F1 Mod conChunkSize
ReDim Chunk(Fragment)
Get DataFile,, Chunk()
CampoBinary. AppendChunk Chunk()
ReDim Chunk(conChunkSize)
For Contador = 1 To Chunks
Get DataFile,, Chunk
CampoBinary. AppendChunk Chunk()
DoEvents
Next Contador
Close DataFile
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "PicTemp"
End If
Err = 0
End Sub
Public Sub LeerBinary(CampoBinary As Field, unPicture As Object)
On Error Resume Next
Dim LngCompensacion As Long
Dim LngTamañoTotal As Long
DataFile = FreeFile
Open "PicTemp" For Binary Access Write As DataFile
LngTamañoTotal = CampoBinary.FieldSize
Do While LngCompensacion < LngTamañoTotal
Chunk() = CampoBinary.GetChunk(LngCompensacion, conChunkSize)
Put DataFile, , Chunk()
LngCompensacion = LngCompensacion + conChunkSize
Loop
Close DataFile
unPicture.Picture = LoadPicture("pictemp")
On Local Error Resume Next
If Len(Dir$("pictemp")) Then
Kill "PicTemp"
End If
Err = 0
End Sub
Suerte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas