Alcance
Lenguajes: .NET, C/SQL, Visual Basic, VIsual Fox Pro, Java.
DBMSs: SqlServer, Oracle, DB2 iseries, DB2 UDB, Informix.
Descripción
El tipo de datos Blob permite almacenar información binaria en la base de datos. Los atributos de tipo Blob contienen un nombre de archivo. Al insertar o actualizar el registro, se transfiere el contenido de dicho archivo a la base de datos.
A la inversa, cuando se hace referencia a los atributos de tipo Blob, la información que éstos almacenan en la base de datos se graba en archivos. Estos archivos se guardan en disco y son nombrados automáticamente, devolviendo la ruta de acceso completa al atributo Blob.
Por ejemplo para agregar mediante un procedimiento un registro debe programarse:
New
AttCode = 1
AttBlob = 'C:\images\Photo.jpg'
Endnew
Esto hace que la imagen Photo.jpg ubicada en c:\images se almacene en el registro 1.
Luego, al hacer referencia al atributo Blob -por ejemplo en un comando For Each- la información que contiene dicho atributo es grabada en un archivo cuyo nombre se genera automáticamente.
Por ejemplo:
For each
where AttCode = 1
&Path = AttBlob
Endfor
La variable &Path (de tipo Char) contendrá el camino completo al archivo generado automáticamente con el contenido almacenado en la base de datos.
Dicho archivo se graba en el directorio corriente. En el caso de ambiente Win este directorio es el mismo directorio de la aplicación. En el caso de ambiente Web este directorio puede variar según el generador y la configuración (por ej.utilizando el generador C/SQL se grabarán en el directorio físico asociado al directorio virtual, en el caso de Java será en el directorio corriente del servidor de servlets utilizado, etc).
El archivo generado será grabado sin extensión. Es posible especificar una extensión para el mismo utilizando la propiedad del atributo 'Associated File Extension':
Más información sobre GeneXus 8.0 RC