Campo BLOB tratado con OLE Object

Buenas,
Tengo una tabla en Oracle con un campo Blob para archivos, imágenes, etc..
Desde mi entorno de programación (en mi caso Uniface), quiero tratar dicho campo de la manera más automática.
Lo primero que se me ocurrió fue utilizar un objeto OLE que interactúa directamente con el campo, de esa manera dispongo de una previsualización del archivo y haciendo doble click sobre el objeto OLE, me abre el archivo directamente con el programa asociado según extensión, .doc, .jpg, etc...
El inconveniente que veo es asociarme al tema OLE que va ligado a Microsoft, y que eso me limite la posible migración en un futuro a otro entorno de programación. He comprobado que un archivo guardado en el campo Blob, al abrirlo con el Objeto OLE y modificarlo para volverlo a grabar en la tabla, la parte binaria del archivo cambia, con lo cual ya no tiene un formato estándar, sino algo concretado por OLE Object.
Tan solo quisiera saber si es delicado ir por la vía OLE Object y asociarme mínimamente a Microsoft, o si por el contrario la parte de OLE Object tiene todavía mucha vida, una fácil migración en un futuro, etc...
Espero que me pueda ayudar y/o aconsejar que haría en esta situación.
Gracias por todo.
Un Saludo.

2 respuestas

Respuesta
1
Bueno mira no se si el OLE en un futuro sea mejor o ya no se use, pero...
Este tipo de campos yo los manejo de la siguiente forma:
* Si yo quiero guardar por ejemplo un archivo.doc, por supuesto en una aplicacion delphi simplemente se lo cargo al campo con una propiedad LoadFromFile('c:\archivo.doc');
logicamente el campo en el TQuery es TBLOB de hecho delphi lo reconoce automaticamente.
* Ahora si quiero ver el contenido, lo consulto y la porpiedad saveToFile('c:\archivo.doc'); con esto lo grabo en mi disco duro y si en ese mismo momento quiero verlo pues lo abro con shellExecute.
Ahora voy a citar un ejemplo con archivos pdf que realice, hago lo mismo para grabarlo y mostrarlo loadFromFile y saveToFile... pero importe las librerías del Acrobat a mi delphi generando así un componente este lo plasmo sobre mi form y le cargo el archivo que grabe con saveToFile y así puedo ver el archivo en mi propia form.
Bueno espero te sirva de algo.
Respuesta
No soy experto en Oracle pero lo conozco, quiero que sepas que no hay ningún problema con usar objetos OLE de hecho si tiene futuro, y creo que ya hay algo parecido en otras plataformas, lo que también podrías hacer es sin almacenar el gráfico en una tabla como gráfico, almacenalo en el servidor y en la tabla solo almacenarías el path o dirección de ubicación del gráfico en caso de ser imágenes.
Espero que mi respuesta sea satisfactoria a tus ordenes
solicitando de antemano tu paciencia porque tengo muchas preguntas que contestar.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas