Jump to content

Recommended Posts

Posted

Boa tarde,

Queria inserir uma imagem na base de dados oracle, tenho uma tabela com o nome e a imagem em si do tipo BLOB.

Alguém faz ideia como inserir a imagem na base da dados, e depois com uma query (select) ir buscar quando preciso?

Obrigado pela atenção,

alves077

Posted

Viva!

A coluna BLOB vai guardar os bytes da imagem, mas para inserir esses bytes primeiro precisas de os "ler".. abrir o ficheiro como um stream de bytes.

Não percebi se queres fazer isso na BD (1) ou se queres usar uma linguagem (2) que abre o lê o ficheiro e depois comunica com a BD e envia o insert.

1) No primeiro caso, penso que terias de fazer um procedimento Java na BD para ler o ficheiro (não me parece que seja possivel fazer isso em PL/SQL.. mas não sei)

2) No segundo caso, aqui tens um exemplo: http://www.codeproject.com/Articles/13365/Insert-retrieve-an-image-into-from-a-blob-field-in

Inté!

oopss.. parece que eu estava errado.. vê este exemplo:

An example of this process is shown here:

SQL> INSERT INTO graphics_table

2 VALUES(4,'April Book of Days Woodcut',bfilename('GIF_FILES','APRIL.JPG'),'JPEG');

1 row created.

http://www.techonthenet.com/oracle/functions/bfilename.php

Posted (edited)

Pois já tive a ver um exemplo ocm essa função, ia criar um procedure.

Para inserir basta passar o ficheiro para bytes e guardar num blob? E depois pro exemplo para mostrar, tenho que fazer um select, e construir de novo a imagem, sbes ocmo posso fazer isso?

Obrigado pela atenção,

alves077

Edited by alves077

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.