- Este tópico contém 8 respostas, 3 vozes e foi atualizado pela última vez 16 anos, 8 meses atrás por
Tiago_BB.
-
AutorPosts
-
2 de março de 2009 às 6:09 pm #85524
Tiago_BB
ParticipanteBom-Dia pessoal.. tenho uma pergunta pra fazer, não sei se é possível no SQL.
Tem como em um SELECT selecionar uma determinada imagem gravada em uma pasta local como C:imagensteste.jpg???
Atenciosamente,
Tiago2 de março de 2009 às 8:07 pm #85528Leonardo Litz
ParticipanteOlá Thiago…
Alguns pontos a serem levados em consideração:
1º Quando se fala em “selecionar” seria selecionar o nome da imagem?
2º Diretorio local é o diretorio do servidor ou do cliente?
3º Voce deseja fazer isso direto no banco? Voce irá usar algum fonte end? Forms/Delphi/VB e etc?Vlw Leonardo Litz
2 de março de 2009 às 9:20 pm #85531Tiago_BB
ParticipanteEntaum… o que preciso?
Tenho uma pasta ( C:Imagensimagem.jpg ) que contém vamos dizer imagens de receitas. Fiz um select pra trazer o código da receita e descrição.
Obs: O nome da imagem é o memso nome da receita.
Eu preciso exibir uma imagem no crystal com as devidas imagens das devidas receitas.
O problema é que as imagens não estão no banco.. senão facilitaria muuuito.
Não sei como fazer isso!!!
Você tem uma idéia?
Obrigado pela atenção!
Atenciosamente,
Tiago2 de março de 2009 às 9:46 pm #85532Rodrigo Mesquita
ParticipantePara ler direto do banco de dados, vc deve criar um directory no banco apontando a pasta das imagens, porem esta pasta deve está no servidor
CREATE DIRECTORY source_dir AS ‘/mydir’;
depois crie uma Procedure para ler e gravar no banco
PROCEDURE LOAD(filename VARCHAR2) AS
f_lob BFILE;
b_lob BLOB;
image_name VARCHAR2(30);
mime_type VARCHAR2(30);
dot_pos NUMBER;
BEGIN
dot_pos := INSTR(filename, ‘.’);
image_name := filename;
mime_type := ‘image/’ || SUBSTR(filename, dot_pos + 1, LENGTH(filename));INSERT INTO images
VALUES
(image_name, mime_type, EMPTY_BLOB()) RETURN content INTO b_lob;f_lob := BFILENAME(‘SOURCE_DIR’, filename);
DBMS_LOB.fileopen(f_lob, DBMS_LOB.file_readonly);
DBMS_LOB.loadfromfile(b_lob, f_lob, DBMS_LOB.getlength(f_lob));
DBMS_LOB.fileclose(f_lob);
COMMIT;
END;depois faça um loop em um cursor com o select o nome da receita para usar como parametro da procedure
2 de março de 2009 às 9:55 pm #85533Tiago_BB
ParticipanteEntaum.. eu não tenho permissão de gravar as imagens no banco… elas estao no C:
:-/
Alguma outra sugestão?
Obrigado!
2 de março de 2009 às 10:31 pm #85534Rodrigo Mesquita
ParticipanteVoce terá que utilizar um front-end. Aqui utilizo o Forms.
2 de março de 2009 às 10:48 pm #85535Tiago_BB
ParticipanteEstou usando vb.net 2003… web aplication!!! onde fiz um select que retornei em um datatable para carregar meu relatório!!!
3 de março de 2009 às 4:23 pm #85538Rodrigo Mesquita
Participantequal a ferramenta vc utiliza para gerar o relatório?
4 de março de 2009 às 4:18 pm #85562Tiago_BB
ParticipanteCrystal Reports…
Acho que é versão 8.5!!!
Uso no VS 2003
-
AutorPosts
- Você deve fazer login para responder a este tópico.