Extraer Imágenes de BD

Gracias de antemano por ayudar a los que no sabemos.
Tengo una base de datos con imágenes incrustadas y su tamaño es enorme, existe la posibilidad de extraer las imágenes de los controles o de donde las almacena Access para grabarlas en disco y en lugar de incrustalas realizar una vinculación.

2 Respuestas

Respuesta
1
Si no voy errado...
Access guarda los objetos incrustados de forma cifrada dentro del mismo archivo mdb (o mde)
... lo que impide extraer de la BBDD dichos archivos incrustados.
(Para verlo solo hay que abrir PE el Word-Pat y darle para abrir un mdb)
La forma normal de operar en tu caso seria ir desincrustando los objetos(borrando) para
seguidamente irlos vinculando al tiempo que iríamos compactando para que el archivo
los elimine realmente y reduzca su tamaño.
No conozco de otra forma, pero si me envías tu e mail a [email protected],
si encuentro algo yo te aviso.
Para ello es evidente que debes disponer de los archivos originales (y de tiempo para hacerlo).
Si te parece me indicas un poco más la situación de tu caso al respecto.
Antes de ponerse a trabajar en una BBDD e hacer inversión de tiempo y dinero
es importante estar seguro que funciona (y funcionará) bien.
A continuación te mando una copia de un problema similar privado de fecha 13/04/2007...
Hola compañero:
Tengo un problemilla con mi base de datos de pelis, hecha por mi mismo en Acess.
Te cuento:
De un tiempo a esta parte se pone tonta y no me deja meter más registros, no me deja
insertar más caratulas, etc... hasta que no la compacto y después me deja pero rapidito
se cansa, y cada vez tengo que compactar más frecuentemente. LLevo 800 registros y
un curre bastante considerable y no me gustaría perder todo esto. Bueno si tienes alguna
duda o necesitas algún dato no dudes en preguntarme y gracias anticipadas por tu respuesta
que espero como agua de Mayo. Un saludo. Pepe.
===============================================================================
Re: Mi base de datos
Hola.
Antes que nada, para evitar perdida de datos, haz una copia de seguridad
de una copia de access que sepas seguro que funciona, no la toques más y
continuas trabajando con otra copia. ¿Ok?
¿Cuántos megas tiene el archivo .mdb una vez compactado?
¿Qué version access usas?
Comprueba el archivo ms access.exe...(dentro de Archivos de programa>Office)...
-¿Qué tamaño tiene y que fecha tiene?
Si has probado de abrirlo (el archivo mdb) con otras versiones... ¿qué ocurre?
Infórmame un poco y seguimos en contacto.
Saludos.
===============================================================================
Mi base de datos
Hola:
Bueno respondiendo a tus preguntas te diré:
El archivo una vez compactado tiene 2.095.524 KB.
Uso el Access 2003.
El archivo ms access.exe tiene un tamaño de 6473 KB. y su fecha es de 15/08/03
Bueno te diré que no he probado abrirlo con otras versiones por lo que no puedo contestarte.
Bueno nada más la copia ya está hecha y por mi parte esperar que me contestes otra vez.
Gracias anticipadas.
===============================================================================
Re: Mi base de datos
Hola.
Por el momento y a simple vista lo que me parece
anormal es el tamaño del archivo ya que tiempo atrás había
oído comentarios que el windows no maneja bien los archivos
superiores a 2Gb. El problema no seria de registros-access ya que
he hecho pruebas con unos 200.000 registros y aunque va un poco lento
al procesar el hecho es que funciona.
Si tienes objetos incrustados esto aumenta
el tamaño del archivo notablemente y puede tratar de solucionarse
usando objetos vinculados aunque ello tiene sus desventajas.
Otra solución seria repartir una posible tabla "pesada" -si viene al caso-en varias tablas
más pequeñas para poder así trocear el archivo importando en otras BBDD (.mdb)
nuevas.
El resultado seria que dispondrías de varios archivos mdb de menor tamaño
en el que contendrían solo los fragmentos de tablas procedente de la tabla mayor inicial.
Seguidamente desde un archivo mdb que contuviera el programa lo que se haría
seria vincular (importar) objetos (tablas) con lo que estarías ejecutando
un programa relativamente pequeño de escasos megas.
El access 2003 no lo he usado apenas y no se decirte al respecto, pero repito que el
problema parece de manejar archivos grandes y es del propio windows, no del access.
Saludos.
===============================================================================
Pregunta finalizada. Valoración: 4.
Muy Bien. Me ha sido de gran utilidad
===============================================================================
Rnm08111956:A continuación te mando otro escrito concretando tu caso.
Respuesta
1
Bueno access almacena las imágenes en un registro tal cual no se pueden ejecutar desde fuera de access sin que esto involucre una generación de código muy amplia por cada registro que tenga involucrado una imagen. Ahora buen para extraerlas hay que abrir la tabla y sobre cada una dar click en objeto del paquete y activar contenido.
Bueno access almacena las imágenes en un registro tal cual no se pueden ejecutar desde fuera de access sin que esto involucre una generación de código muy amplia por cada registro que tenga involucrado una imagen.
Hola.
No me explique bien por lo que puedo entender de tu respuesta, mis imágenes están inclustadas en los formularios, es decir son controles no asociados a ninguna tabla de la base de datos.
Gracias.
Bueno si las imágenes están en un formulario o informe estas están vinculadas a la base de datos mediante un cuadro de imagen este se imporpara a la base de datos. La solución seria copiar las imágenes y editarlas para reducir su peso y luego volver a incluirlas y también seria bueno compartar y reparar la base de datos
Gracias lantach por tu dedicación y tiempo, veré que puedo hacer.
Si se me ocurre algo nuevo, te lo haré saber.
Saludos y hasta otra.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas