Ingresar
Debates recientes
Respuestas recientes
Estadísticas del Foro
- Usuarios registrados
- 11.271
- Foros
- 38
- Debates
- 919
- Respuestas
- 60
- Etiquetas de debate
- 51
Inicio › Foros › Base de Datos › SQL y PL/SQL (Database) › Procedimineto Cargar Archivo BD
- Este debate tiene 1 respuesta, 2 mensajes y ha sido actualizado por última vez el hace 14 años, 10 meses por gguanilo.
-
AutorEntradas
-
-
11/19/2009 a las 7:46 AM #2539dieg209Participante
Buenos dias Sres: Tengo un inconveniente respecto a insertar un archivo en la BD mediente un procedimiento. El probelma es que tengo 2 servidores: un Web y un de DB Oracle.
Desde una aplicacion Java he intentado cargar pero no he conseguido hacerlo porque en el procedure que tengo se tiene que definiar un DIRECTORY en el serv de base d datos y mi aplicacion esta en el Web. Asi que tengo k hacer un copiado del archivo al server d bd y recien insertar el archivo. Alguien sabe alguna diferente d hacer, es decir sin copiar el archivo al server de db.El procedure que tengo es el siguiente:
CREATE OR REPLACE PROCEDURE "PA_INSERTA_FOTO" (PNRO_DOC_DP VARCHAR,PCOD_BENEF VARCHAR2, PDIRECCION VARCHAR2,PESTADO VARCHAR2) AS
l_bfile BFILE;
l_blob BLOB;
BEGIN
INSERT INTO FOTO(NRO_DOC_DP,COD_BENEF, foto, estado)
VALUES(PNRO_DOC_DP, PCOD_BENEF,EMPTY_BLOB(),PESTADO)
RETURN foto INTO l_blob; l_bfile := BFILENAME(‘ARCHIVOS’, ‘22309791.jpg’);
DBMS_LOB.fileopen(l_bfile, Dbms_Lob.File_Readonly);
DBMS_LOB.loadfromfile(l_blob,l_bfile,DBMS_LOB.getlength(l_bfile));
DBMS_LOB.fileclose(l_bfile);
COMMIT;
EXCEPTION
WHEN OTHERS THEN
ROLLBACK;
RAISE;
END PA_INSERTA_FOTO;
/ -
01/29/2010 a las 3:35 AM #2614gguaniloParticipante
Hola
es cierto que tienes que crear el directorio ‘ARCHIVOS’ , pero si se puede hacer de otra forma se puede y todos usando la misma metodologia , primero tienes que cambiar en tu procedure l_blob BLOB como un parametro de entrada y luego dentro de tu aplicativo web (sea Java,.Net o php) tienes que obtener la imagen y tranformarla en un array de bytes
te paso un link de ejemplo en
Java
http://www.java2s.com/Code/Java/Database-SQL-JDBC/BlobJDBCdealswithBinaryData.htm
.Net(C#,VB)
http://www.oracle.com/technology/sample_code/tech/windows/odpnet/howto/anonyblock/index.html
Php
http://www.oracle.com/technology/pub/articles/oracle_php_cookbook/fuecks_lobs.html
Saludos :-)
T4v0
-
-
AutorEntradas
- Debes estar registrado para responder a este debate.