![]() |
extraer ficheros de base de datos sqlite campo blob
Hola amigos:
Tengo guardado en sqlite en un campo blob ficheros .pdf, .doc, etc, existe alguna manera de estraer el contenido de ese campo blob en memoria y ejecutar el fichero o necesariamente para extrarer el fichero debo sacarlo del sqlite al disco duro verlo y luego lo elimino?? gracias juank |
por si no me expliqué bien cuando digo verlo, quise decir ejecutarlo o sea abrirlo con la aplicacaion que le corresponda.
|
Hola, lo aconsejable seria crear un Stream con los datos y bajarlos en un archivo temporal para ejecutarlo(luego se elimina)
De otra manera es un problema por el tema de seguridad de los sistemas operativos entre otras cosas(ademas de ser una tarea ardua de realizar) Estuve revisando bastante... encontre esta clase.. y probe con la siguiente llamada.. pero solo problemas! jaja creo que es muy complicado y no tiene mucho sentido (quizas exista algun requerimiento lo exija? ya seria casi como programar un virus.. no será para eso? jajaj)
Saludos Nicolas Perichon |
no es virus es para mi hermano de electrónica
Ja, No NO es para un virus:
Gracias amigo voy a probar esta noche si mi hija me deja un tiempo de máquina, Gracias. Ees para una aplicación que le estoy haciendo a mi hermano que me dijo que quería tener todo lo que el necesita de electrónica en una sola base de datos, que sea portable, y tener siempre a donde quiera que va su minienciclopedia que el le pueda agregar cosas y hacer búsquedas. En eso incluye .doc, pdf, html, exe,jpg,bmp etc todo lo que usa para su trabajo de electrónica. Le programé la aplicación en delphi XE4 todo con la base de datos en sqlite3 funciona muy bien, lo que mejor me quedo es que, escaneo el texto de todos los ficheros pdf,word,xls y lo guardo en un campo aparte entonces se pueden hacer búsquedas de subcadenas de textos en cualquier tipo de fichero y eso lo hace muy rápido incluso mejor que windows porque windows no busca txt dentro de los pdf. Con este procedimiento que te pongo abajo, extraigo los ficheros (campo blob) de la base de datos al hacer dbclick en el grid que muestra los nombres, y funciona bien pero tengo que crearlo en el disco, o sea lo saco de la base sqlite para el disco duro y luego lo ejecuto con el ShellExecute, todo ok, pero después tengo que eliminar el fichero, y si esta en uso no puedo, lo tengo que ir guardando en un arreglo los nombres con los caminos respectivos y los elimino al cerrar la aplicación que es un poco incómodo, y si hay muchos abiertos se demora cerrando, por eso estaba tratando de buscar algo como lo que me mandas a ver cómo funciona en memoria, o quizás combinados a ver que pasa. Gracias muchas , como decía mi abuelo Salud y Pesetas para ti
|
La franja horaria es GMT +2. Ahora son las 13:38:16. |
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