Foros del Web » Programación para mayores de 30 ;) » Java »

Leer bytes de un campo blob de mysql

Estas en el tema de Leer bytes de un campo blob de mysql en el foro de Java en Foros del Web. Compañeros, resulta que guardé en una base de datos un pdf en un campo blob, con un FileInputStream. Mi problema es... cómo leer ese campo?, ...
  #1 (permalink)  
Antiguo 21/01/2010, 15:37
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Leer bytes de un campo blob de mysql

Compañeros, resulta que guardé en una base de datos un pdf en un campo blob, con un FileInputStream.

Mi problema es... cómo leer ese campo?,
es decir, ese pdf se genera según el contenido de un JTextPane, luego con FileInputStream guarda en la base de datos en un campo binario (blob), como hago para mostrar otra vez ese documento en el JTextPane?

Saludos.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #2 (permalink)  
Antiguo 22/01/2010, 02:25
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Leer bytes de un campo blob de mysql

De la misma forma que introduces el Blob en la base de datos, existe la forma inversa para sacarlo. (con Input/Output-Streams).

"leer blob mysql jdbc" en Google trae unos cuantos enlaces que te pueden servir.
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #3 (permalink)  
Antiguo 22/01/2010, 07:49
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Leer bytes de un campo blob de mysql

Gracias compañeros, estoy buscando y he encontrado algo, pero de ahi no se como poner esos bytes en el JTextPane. No encuentro la forma de leer los bytes y aplicar ese contenido al JTextPane, tengo esto:

Código java:
Ver original
  1. // Se obtiene el campo blob
  2. Blob blob = rs.getBlob("objeto");
  3. // Se reconstruye el objeto con un ObjectInputStream
  4. ObjectInputStream ois = new ObjectInputStream(blob.getBinaryStream());

Pero de ahi no sé como agregarlo al JTextPane, por favor ayudenme, gracias.
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175
  #4 (permalink)  
Antiguo 22/01/2010, 14:43
 
Fecha de Ingreso: octubre-2003
Mensajes: 3.578
Antigüedad: 20 años, 6 meses
Puntos: 51
Respuesta: Leer bytes de un campo blob de mysql

Si lo que guardas es un texto, por lo de ponerlo en JTextPane, ¿no te iría mejor un Clob? De todas formas, si lo tienes que guardar en un JTextPane, lo que tienes que mirar es que método del API de JTextPane vas a usar para ponerle el texto, y luego dependiendo del parametro que necesite ese método, ver como convertir el BinaryStream(Blob) o AsciiStream(Clob) en ese objeto en cuestión. Por ejemplo, si usas setText necesitas un String, si usas setDocument necesitas un javax.swing.text.Document etc. etc.

Eso sólo encontrar los puntos intermedios para juntar lo que quieres con lo que tienes, y la mejor forma de hacerlo es mirando el API.

S!
__________________
Para obtener respuestas, pregunta de forma inteligente o si no, pregunta lo que quieras que yo contestaré lo que me dé la gana.
  #5 (permalink)  
Antiguo 22/01/2010, 16:00
Avatar de lobo_php  
Fecha de Ingreso: noviembre-2007
Ubicación: Cali-Colombia
Mensajes: 1.869
Antigüedad: 16 años, 5 meses
Puntos: 75
Respuesta: Leer bytes de un campo blob de mysql

No compañero, no solo es texto, si fuera así ya me hubiera evitado muchos dolores de cabeza, el problema es lo bueno del editor XD, se pueden pegar imagenes (del portapapeles) en el JTextPane, antes lo había querido hacer con RTF, pero no me fue posible guardar con imagenes, luego traté de crear un pdf, lo logré, lo grabé en un campo blob de la base de datos, no supe como leerlo otra vez, gracias a tu ejemplo descrubri que podía guardarlo sin necesidad de crear el pdf, pero tampoco logré saber como leerlo para ponerlo en el JTextPane, con el texto formateado y las imagenes que esten ahi (que pueden ser miles, si así se desea.).
__________________
Cabuntu.org - Difundiendo Software Libre en Cali, Colombia
Usuario Linux # 483175

Etiquetas: blob, mysql, campos, byte
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 16:23.