![]() |
Archivo GDB de 2.33 Gb!!!!
Hola.
Otra vez yo. Hice la aplicación de escaneo de encuestas y tengo el siguiente problema: La aplicación tona una imagen de 850x1060 pixeles en B/N BMP, que pesa 106 Kb y la divide en tres graficos de 850x350 en B/N BMP y los guarda en un campo blob definido así: bmps BLOB( 65535, 0 ) según el metaarchivo de IB_SQL y BMPS BLOB SUB_TYPE 0 SEGMENT SIZE 80 NOT NULL según el metaarchivo de SQL Explorer. el resultado despues de guardar 2065 imagenes de las de 850x350 fue un archivo GDB de 2.33 Gb. No entiendo porque, en el peor de los casos, si guardara las imagenes de 850x1060 de 106 Kb (de estas son 695) el resultado es de 72 Mb, el 3% del tamaño que me quedo.... Intuyo que el error es en la deficición del campo... Sergio |
Hola.
Veo que 21 personas han leido el mensaje pero no hay respuesta... No está bien expuesto? No tiene respuesta? Es muy estupida la pregunta? Será que mi mamá me mima? Sergio.... P.D. Realmente necesito orientación al respecto. |
Hola,
Cita:
Cita:
Cita:
Cita:
Saludos. P.D. Un poco de calma, a veces pasan varios días hasta tener una respuesta. |
Ok. Ok. Ok OK
Lo siento, es que estoy mal acostumbrado porque en el foro casi siempre la respuesta es mas rápida. Perdón. perdón, perrrrrrrddoooooón Sergio |
Hola, espero serte de ayuda.
A mi personalmente no me gusta almacenar directamente imagenes en la base de datos, yo lo que haria es crear un campo de tipo string donde guardar la ruta de la imagen, asi ademas de eliminar problemas con campos blob a los que odio con locura :mad:, tengo la ventaja de poder cambiar las imagenes sin modificar los datos de la BD. Pero bueno como tu ya has implementado el campo blob te sugiero que hagas un backup y un restore de tu base de datos a ver que pasa con el tamaño; habitualmente suele ser menor. Siento no poderte ser de mayor ayuda :( . Un saludo y suerte en tu proyecto. Covadonga ;) |
Hola,
algunas ideas sobre el crecimiento de la base de datos: 1. Estar realizando UPDATE's sobre los campos BLOB desde diferentes transacciones, que estén generando "deltas" de los registros que no se estén eliminado, posteriormente, por los mecanismos de recogida de "basura". 2. Uso de transacciones (incluidas las de lectura) con un nivel de aislamiento muy alto (snapshot). 3. No existe una correspondencia exacta entre el tamaño de la información que se intenta almacenar en un BLOB y el tamaño que éste realmente ocupa, ya que se trabaja a nivel de páginas y segmentos. De todas formas, la diferencia que tú tienes me parece excesiva. En cualquier caso, como comenta eliasterrero, un backup/restore debería eliminar versiones obsoletas de los registros y reducir el tamaño de la base de datos. En cuanto al asunto de no almacenar la imágenes en la base de datos, opino que tiene muy poco que ganar y sí mucho que perder, como ya he comentado en varios hilos dentro de estos foros. Saludos. |
Hola:
Yo tuve este problema de gdb de mas de 2gb con firebird 1.0 para Linux, no se si es tu caso. Para windows 2000 no he tenido problema de longitud de los gdb's. El problema lo arreglaron en la version 1.0.2 http://prdownloads.sourceforge.net/f...6.rpm?download Respecto al tema de poner imagenes incrustadas mi opinion es favorable. Son muchas las ventajas. He realizado pruebas con insercion de 60000 imagenes y el rendimiento es muy bueno. Actualmente tengo una aplicacion que usa una estructura de carpetas para almacenar imagenes que tiene unas 500000 (30 GB) Mover esto o hacer backup es muy pesado. La idea es pasar las imagenes a una tabla. |
Hola,
Cita:
Saludos. |
Yo crearia un tipo de datos para los trozos de imagenes mas pequeños así:
create domain NEW_DOMAIN as blob sub_type -1 segment size 80; y para las imágenes grandes de esta forma create domain NEW_DOMAIN as blob sub_type -1 segment size 100; porque -1: Bueno puedes poner cualquier numero negativo para identificar tu tipo de datos y no utilizar los predefinidos por interbase del 0 al 6. Así interbase no chequea lo que gurdes en el campo blob. Puede que esto te ayude a reducir un poco el tamaño además. |
Hola,
Cita:
Cita:
0 (Predefinido) --> sub-tipo binario 1 (Predefinido) --> sub-tipo texto Entero negativo --> sub-tipo definido por el usuario. Saludos |
Hola:
Pues hize el Backup y el restore correspondiente y la base de datos si bajo de tamaño, paso de 2.33 gb a 1.98 gb...... Necesito poder guardar estos bmp's en la base pero sin que cresca tanto. Por hay logre guardar los gif en lase de datos y paso que cuando va en el 1070 de los 2067 se explota el programa, bueno eso ya es de programación, espero y no de la bade de datos. El archivo con los 1070 gif resulta de 2.1 Mb, algo del todo manejable, agradable, bonito, estético, etc..... Seguiré intentando. Si pueden echarme una mano... Si alguno quiere probar el Código fuente para ver que es lo que pasa..... Sergio |
Otra cosa q puesdes haces es transformar los bmp a jpg y guardar estos en la base de datos (o hacer q el delphi se encarge de la transformacion), para hacerlo tienes informacion en esta pagina:
http://www.q3.nu/trucomania/main.shtml |
Hola.
Pón el código que utilizas para convertir a GIF y le daremos una hojeada. No es nada normal que falle al llegar a un determinado numero de conversiones, falle el programa. Tiene todo el aspecto de que tienes una pérdida de memoria, al convertir una imagen creas un objeto en memória que no liberas con el correspondiente Free, por lo que al irse acumulando esas pequeñas pérdidas de memória, llega un momento que agotas la memória RAM del equipo. Es una suposición, si pones el código fuente lo podemos determinar mejor. Saludos. |
O.K.
El formulario tiene un boton que envia a un procedimiento con parámetros: Código:
procedure TfrmPpal.tabular2(Ini,Fin,Sal: integer); HojaIni: inicio de las hojas escaneadas y guardadas como archivo con el nombre "Explorar0001.bmp" HojaFin: Fin de las hojas escaneadas y guardadas como archivo con el nombre "Explorar0689.bmp" Cada archivo es una hoja de encuesta con tres encuestas cada una. este archivo es de 850x1100 pixeles. El procedimiento, mediante el Trect Cuadro1 y cuadro2 se desplaza en la lectura de las encuestas. En el uses esta gifimage que es la de TGIFImage de Andrew Malander. Sergio |
La franja horaria es GMT +2. Ahora son las 13:13:38. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi