1.- Crea un campo de tipo image en la tabla donde deseas guardar tu archivo.
2.- Luego lees el archivo pdf del path donde se encuentre
3.- Seguidamente actualizas el contenido leido en el campo de la tabla
Supongamos que tenemos una tabla que se llama prueba y utiliza una llave
unica sobre el campo tmp_llave. El campo campo image se llama tmp_archivo.
// Declaramos nuetros campos de tipo blog
blob lbl_data
blob lbl_temp
long ll_file, ll_long = 0, ll_tam
integer li_pos = 1
// leemos el archivo
ll_file = FileOpen("c:\temp\prueba.pdf",streammode!)
// barremos sus registros
Do While FileRead(ll_file,lbl_temp) > 0
lbl_data += lbl_temp
Loop
// cerramos el archivo
FileClose(ll_file)
// actualizamos nuestra base de datos
UPDATEBLOB prueba SET prueba.tmp_archivo = :lbl_data WHERE
prueba.tmp_llave = :li_llave;
// Para recuperar y mostrar el archivo:
SELECTBLOB tmp_archivo INTO :lbl_data FROM prueba WHERE
prueba.tmp_llave = :li_llave;
ll_file FileOpen("c:\temp\prueba2.pdf",StreamMode!,Write!)
ll_tam = len(lbl_data)
if ll_tam <= 32766 then
FileWrite(ll_file,lbl_data)
else
Do
lbl_temp = BlobMid(lbl_data,li_pos,32765)
ll_long = ll_long + FileWrite(ll_file,lbl_temp)
li_pos = li_pos + 32765
Loop While ll_long <= ll_tam
end if
// fin de la solucion
2.- Luego lees el archivo pdf del path donde se encuentre
3.- Seguidamente actualizas el contenido leido en el campo de la tabla
Supongamos que tenemos una tabla que se llama prueba y utiliza una llave
unica sobre el campo tmp_llave. El campo campo image se llama tmp_archivo.
// Declaramos nuetros campos de tipo blog
blob lbl_data
blob lbl_temp
long ll_file, ll_long = 0, ll_tam
integer li_pos = 1
// leemos el archivo
ll_file = FileOpen("c:\temp\prueba.pdf",streammode!)
// barremos sus registros
Do While FileRead(ll_file,lbl_temp) > 0
lbl_data += lbl_temp
Loop
// cerramos el archivo
FileClose(ll_file)
// actualizamos nuestra base de datos
UPDATEBLOB prueba SET prueba.tmp_archivo = :lbl_data WHERE
prueba.tmp_llave = :li_llave;
// Para recuperar y mostrar el archivo:
SELECTBLOB tmp_archivo INTO :lbl_data FROM prueba WHERE
prueba.tmp_llave = :li_llave;
ll_file FileOpen("c:\temp\prueba2.pdf",StreamMode!,Write!)
ll_tam = len(lbl_data)
if ll_tam <= 32766 then
FileWrite(ll_file,lbl_data)
else
Do
lbl_temp = BlobMid(lbl_data,li_pos,32765)
ll_long = ll_long + FileWrite(ll_file,lbl_temp)
li_pos = li_pos + 32765
Loop While ll_long <= ll_tam
end if
// fin de la solucion
Muy bueno el ejemplo, yo tengo varios dis buscando como hacer esto pero desde visual basic 6.0 y sql server 2000, por casualidad sabes como hacerlo?
ResponderEliminarMe ayudaras muchisimo si me das almenos una idea, y me ahorraras muchos dias mas en mi busqueda.
Te dejo mi mail por si acaso:
e2mch@hotmail.es
Muchas gracias desde ya
Hola Alonso en realidad me parece interesante tu algoritmo ... pero si en determinado caso, quiero abrir el pdf sin indicarle la ruta exacta, es decir jalar desde el campo binario donde guarde.
ResponderEliminarSaludos
Dim ms1 As New System.IO.MemoryStream
ResponderEliminarDo While rdrbusqueda.Read()
If Not rdrbusqueda.IsDBNull(0) Then
retval = rdrbusqueda.GetBytes(0, 0, outbyte, 0, buffersize)
ms1 = New System.IO.MemoryStream(outbyte)
mencontro = True
End If
Loop
If mencontro Then
pbProducto.Image = Image.FromStream(ms1)
pbProducto.SizeMode = PictureBoxSizeMode.StretchImage ' Para ajustar la imagen al tamaño del objeto
pbProducto.Invalidate()
End If
uhmmm.... en power builder no habra una forma??, o necesariamente armarlo en visual
ResponderEliminarHola quiero guardar una imagen en 3D en SQL Server y mostrar en Power Builder 11.5 nose si me podias ayudarme
ResponderEliminarte dejo mi correo: gladyscc@hotmail.es
esto esta bien pero cuando lo quiero vizualizar las paginas me las muestras unas en negro y otras bien , y las imagenes salen descoloridas, pero miro el original y estan bien
ResponderEliminaresto esta bien pero al vizualizarlo las imagenes me salen descoloridas y distorcionadas, al igual algunas paginas me salen en negro y otras bien que puedo hacer helllllll
ResponderEliminarQuiero abrir un pdf de mi base de datos oracle de un campo blob para imprimirlo.
ResponderEliminaralguien me puede ayudar
Alguien me puede ayudar tengo un campo blob y tengo un pdf guardado ahí quiero visualizarlo o colocarlo en algún lugar de mi pc para poder imprimirlo.
ResponderEliminarMe podrian ayudar