Varios campos BLOB

Hola experto.
Tengo una tabla con un campo blob que funciona bien con el código del ejemplo que aparece aquí:
www.devjoker.com/asp/ver_contenidos.aspx?co_contenido=83
Pero necesito una tabla con dos campos blob y no se como crear los directorios ni quemodificaciones hacerle al código para insertar la información, ¿me puedes ayudar con esto?
De antemano muchas gracias Panzaverde.

1 Respuesta

Respuesta
1
No tengo mucha experiencia en LOBS, pero te puedo ayudar a leer un poco el código.
CONNECT sys/&password@ORACLEBD as sysdba;
CREATE OR REPLACE
DIRECTORY IMAGES AS 'C:\ORACLE\BLOB\IMAGES';
Ahí creas el directorio para que la base de datos vea el filesystem, fíjate que sea un directorio que oracle pueda ver (o sea el usuario con el que corre la db) y que obviamente esta en el equipo servidor.
En el CREATE TABLE no se si es posible agregar otro BLOB, la verdad que no se las limitaciones de cada versión respecto a la cantidad de columnas lobs en una tabla, pero prueba agregando otra linea como "BIN2 BLOB null,"
Si querés indexar los archivos vas a tener que manejar algún código y es lo que usa el ejemplo y que se carga en la siguiente linea (modificada para 2 blobs):
('000001','imagen.gif','imagen2.gif',EMPTY_BLOB(), EMPTY_BLOB(),SYSDATE), con el id=000001.
En el returning deberías usar 2 varibales de la siguiente forma:
RETURN bin, bin2 INTO l_blob, l_blob2; (debes agregar esta variable al DECLARE)
Las lineas donde se carga el archivo vas a tener que duplicarlas para cargar el segundo, pero esta vez haciendo referencia a l_blob2.
l_bfile := BFILENAME('IMAGES', 'imagen.gif');
DBMS_LOB.fileopen(l_bfile, Dbms_Lob.File_Readonly);
DBMS_LOB.loadfromfile(l_blob2,l_bfile,DBMS_LOB.getlength(l_bfile));
DBMS_LOB.fileclose(l_bfile);

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas