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

Guardar area de texto en un BLOB

Estas en el tema de Guardar area de texto en un BLOB en el foro de Programación General en Foros del Web. Hola a todos, Estoy haciendo una pequeña aplicación en Visual C#.Net para guardar unos textos en una base de datos. El problema viene cuando intento ...
  #1 (permalink)  
Antiguo 14/12/2008, 17:09
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 1
Guardar area de texto en un BLOB

Hola a todos,

Estoy haciendo una pequeña aplicación en Visual C#.Net para guardar unos textos en una base de datos. El problema viene cuando intento grabar los datos, como son textos bastante largos en la base de datos utilizo campos BLOB. He mirado por ahi como guardar datos en BLOB pero todos dan ejemplos de como guardar ficheros ya creados.
Si alguien me puede dar algun ejemplo de como guardar un area de texto se lo agradeceria muchisimo.


¡Muchas gracias de antemano!
  #2 (permalink)  
Antiguo 14/12/2008, 18:55
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Guardar area de texto en un BLOB

Quizá la razón de no encontrar ejemplos es que los BLOBs son Binary Large OBjects, es decir que sirve para guardar grandes objetos binarios. No están pensados para guardar objetos de texto.

¿De qué tamaño son los textos que quieres guardar y qué base de datos utilizas?
  #3 (permalink)  
Antiguo 15/12/2008, 02:40
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Guardar area de texto en un BLOB

Hola,

Los textos que necesito guardar pueden tener hasta mil letras o más.
Es como una especie de diario.

Saludos
  #4 (permalink)  
Antiguo 15/12/2008, 02:59
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Guardar area de texto en un BLOB

1000 caracteres no es mucho. ¿Qué base de datos utilizas?

Si usas SQL Server, por ejemplo, tienes el tipo VARCHAR que puede contener texto hasta 8,000 caracteres. Si quieres más, el tipo TEXT puede contener hasta 2,147,483,647 caracteres. (nvarchar y ntext soportan Unicode y, por eso, su capacidad es la mitad de lo dicho para varchar y text respectivamente)

En Oracle, MySQL, etc, tienes tipos similares. Mira la documentación de tu BBDD para saber exactamente cómo se llaman y cuánta capacidad tienen.

Última edición por venkman; 15/12/2008 a las 04:44
  #5 (permalink)  
Antiguo 15/12/2008, 04:37
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Guardar area de texto en un BLOB

Hola,

Utilizo una base de datos de Firebird. Si el texto fuese de solo una linea no habia problemas. El tema es que el texto incluye tabuladores, lineas nuevas, etc (digamos que es un texto preformateado), por esto queria guardarlo en un BLOB (aunque como tu dices me gustaria más un varchar la verdad).
Si me puedes dar un ejemplo como guardar un texto de contiene varias lineas en un varchar de firebird asi lo haré.

Saludos!
  #6 (permalink)  
Antiguo 15/12/2008, 05:00
venkman
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Guardar area de texto en un BLOB

Uhm, bueno, justo Firebird es un poco distinto. El caso es que Firebird llama Blobs a cosas que no son necesariamente Binarias.

En concreto, en Firebird, el tipo que deberías usar es "BLOB SUBTYPE TEXT" y en recientes versiones (no sé desde cuál exactamente) puedes asignarle el valor directamente no coo un fichero sino con el contenido que tengas.

Lo que sí podrías pensar, quizá, es si te conviene más BLOB SUBTYPE TEXT o un VARCHAR. En esta página hacen una buena comparación sobre las ventajas de cada uno.
  #7 (permalink)  
Antiguo 15/12/2008, 05:16
 
Fecha de Ingreso: febrero-2008
Mensajes: 88
Antigüedad: 16 años, 9 meses
Puntos: 1
Respuesta: Guardar area de texto en un BLOB

Hola,

Muchas gracias por la informacion.
Sin embargo me gustaria si alguien me puede dar un pequeño ejemplo de como guardar esta area de texto (aunque sea de unas pocas lineas). Es que si utiliza el Memorystream para saber como se hace porque a mi aún no me sale

¡Muchas Gracias!

Última edición por Gropo; 15/12/2008 a las 05:31
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 23:03.