Gravar imagem no banco

e ai pessoal…

bom, tenho um programa para cadastros e q tb tem a opção de se cadastrar uma foto.

meu problema é o seguinte:

como faço para inserir a imagem num campo do tipo IMAGE do sql, digo a imagem msm não o caminho.

já pesquisei no fórum e no google mas não encontrei o que eu preciso.

se alguém souber de algum link ou puder me ajudar de qualquer maneira, a ajuda será mto bem-vinda.

mto obrigado a todos pela atenção.

flws

Bom dia!

Tens alguma necessidade estupidamente essencial, do tipo se você não fizer Angra I e II vão explodir, que lhe obrigue a fazer uma coisa dessas?
Os bancos trabalham de maneiras diferentes sobre gravar arquivos binários, o mais comum é em campos BLOB. Procure por “insert sql blob”.
Mas ainda assim aconselho a somente gravar o caminho.

Até!

Evandro,

Qual banco você está utilizando?

Bom para inserir no PostgreSQL, você pode fazer da seguinte maneira:

INSERT INTO tabela (imagem) VALUES (pg_escape_bytea(imagem.jpg))

O campo imagem no banco tem q estar definido como um bytea.

Espero ter ajudado.

Opa!

Essa função e tipo de campo existe para Oracle ou MySql ou Firebird? Esse tipo de dado (bytea) é exclusivo do PostgreSQL, tal como a função que ele trabalha. E se a aplicação for rodar em MySQL? Oracle?
Gravar binários no banco atrela a sua aplicação ao banco, limitando e dificultando uma troca de banco de dados.

Até!

Maquiavel,

Esta função realmente é nativa do postgreSQL, e não tenho conhecimento se existem similares nos outros bancos que você questionou.
E concordo com você, que salvar as imagens no banco amarra a aplicação a um certo banco, e para uma migração posterior, com certeza haverá problemas.
Caso, ele realmente julgue necessário salvar a imagem no banco, e este seja postgresql, está ai a função.

Espero realmente ter ajudado.

então, estou gravando a imagem direto no banco pq tive que migrar este programa para Java e os dados já estavam sendo gravados desta maneira.

vou ver se encontro algo que possa me ajudar.

mto obrigado pela dica.

flws

[quote=fsquadro]Evandro,

Qual banco você está utilizando?

Bom para inserir no PostgreSQL, você pode fazer da seguinte maneira:

INSERT INTO tabela (imagem) VALUES (pg_escape_bytea(imagem.jpg))

O campo imagem no banco tem q estar definido como um bytea.

Espero ter ajudado.[/quote]

então eu uso o SQL Server…acho que isso não funciona pra mim…

mas mto obrigado

Evandro,

Vou ficar te devendo, pois pra MS SQL Server, eu não tenho conhecimento, se fosse postgreSQL ou Oracle, poderia lhe ajudar.

Abraço e boa sorte.

mesmo assim te agradeço mto pela atenção

estou procurando uma solução ainda…vlw

flws

consegui!!!

se alguém precisar fazer isso…esses links podem ajudar…

http://www.guj.com.br/posts/list/14312.java

flw galera e até a próxima