Desculpa a demora na resposta, mas estava de férias e mal olhei meus emails....
Consegui implementar traquilamente com o tipo bytea. Note que o tipo oid serve
perfeitamente se vc implementar a gravação das imagens no lado do servidor,
caso seja no lado do cliente o diretório dessas imagens tem que estar visíveis
para o servidor para que possas utilizar as funções relativas a oid's como por
exemplo lo_import, lo_export, lo_creat, etc. Para implementar através de bytea,
a forma mais fácil que encontrei, considerando que uso ado + odbc, foi a
ativação do parâmetro "bytea as LO" encontrada na configuração do driver odbc
distribuido para postgresql. Esse driver odb pode ser encontrado em:
http://wwwmaster.postgresql.org/download/mirrors-ftp?file=%2Fodbc%2Fversions%2Fmsi%2Fpsqlodbc_08_03_0200.zip
O parâmetro pode ser encontrado em options > datasource > page2, considerando
que esteja utilizando o windows. (aqui uso windows como cliente e linux como
servidor) Por último, na IDE de programação, considere esse campo como um Blob
e então utilize as mesmas funções que utilizaria para tal, segue um exemplo no
delphi: Procedure insere_imagem;var imagem:TPicture;begintry
imagem:=TPicture.Create; OpenPictureDialog1.Execute; if
OpenPictureDialog1.FileName<>'' then begin
imagem.LoadFromFile(OpenPictureDialog1.FileName); Clipboard.Assign(imagem);
ADOQuery_Imagens.Insert; DBImage_foto.PasteFromClipboard;
ADOQuery_Imagens.Post; imagem.Free;end;Note que esta é apenas uma das
possibilidades. Para maiores informações sobre bytea, Oid e directory, dê uma
olhada na palestra do Diogo Biazus realizada na pgcon 2007 em
http://www.postgresql.org.br/Palestras_do_PGCon_Brasil_2007, título: Preciso
armazenar arquivos no banco. O que fazer? Atenciosamente,
ADENILTON Batista da Silva Index Informática LTDA (79)3431-3234 /
9142-0886 [EMAIL PROTECTED]
From: [EMAIL PROTECTED]: [EMAIL PROTECTED]: Re: [pgbr-geral] Problemas na
inserção de imagens em campos OidsDate: Wed, 7 May 2008 16:26:20 -0300
Olá Adenilton
Vi sua dúvida na lista do postgresql sobre colocar figuras no banco de dados.
Preciso fazer a mesma coisa, mas não manjo nada.
Você conseguiu fazer funcionar ? Pode me ajudar ?
Obrigado
Atenciosamente,Marcos Fabrício CorsoAnalista de Sistemas JúniorJM
InformáticaFone : (41) 3076-0896Fax : (41) [EMAIL PROTECTED]
----- Original Message -----
From: Adenilton Batista da Silva
To: [EMAIL PROTECTED] .org.br
Sent: Thursday, March 20, 2008 10:50 AM
Subject: [pgbr-geral] Problemas na inserção de imagens em campos Oids
Bom dia, Estou com o seguinte dilema ao tentar inserir imagens em campos oids
na interface do cliente; Tenho a seguinte tabela: CREATE TABLE clientes(
codigo integer NOT NULL, denominacao character varying(1) NOT NULL,
dtcadastro date NOT NULL, ultmovimentacao date, nome character varying(50)
NOT NULL, sexo character varying(1), dtnascimento date, apelido character
varying(50), endereco character varying(50), complemento character
varying(50), bairro character varying(15), cidade character varying(30),
estado character varying(2), cep character varying(9), fone character
varying(20), fax character varying(10), restricao boolean, cpfcnpj character
varying(14), rgie character varying(10), orgemissor character varying(5),
ufemissor character varying(2), limitecredito numeric(15,2), pai character
varying(50), mae character varying(50), conjuge character varying(50),
profissao character varying(30), email character varying(50), cbendereco
character varying(50), cbcomplemento character varying(50), cbbairro
character varying(15), cbcidade character varying(30), cbestado character
varying(2), cbcep character varying(9), cbfone character varying(20), cbfax
character varying(10), obs character varying(100), ativo boolean NOT NULL,
foto oid, CONSTRAINT clientes_pkey PRIMARY KEY (codigo))No cliente por
exemplo, quando executo o comando "INSERT INTO CLIENTES (codigo, denominacao,
dtcadastro, nome, foto) VALUES ('1', '2', '20/03/2008', 'CLIENTE TESTE',
lo_import ('C:\TESTE.JPG'))" me retorna o seguinte erro: "ERRO: deve ser
super-usuário para utilizar lo_import() do servidor"; Detalhe os usuários
criados para uso nos clientes não são super-usuários por motivos de segurança.
Estou programando no delphi e logo não tenho como incluir a biblioteca libpq do
C (a não ser por uso de dll's) e pela quantidade de imagens fica inviável
guardá-las em diretórios e gravar somente o caminho, gostaria de saber se
alguem já passou por isto e teve alguma "luz" de como contornar este problema.
Desde já grato pela atenção dispensada a esta demanda,
Atenciosamsnte,
ADENILTON Batista da Silva Index Informática LTDA (79)3431-3234 /
9142-0886 [EMAIL PROTECTED]
Instale a Barra de Ferramentas com Desktop Search e ganhe EMOTICONS para o
Messenger! É GRÁTIS!
E-mail verificado pelo Terra Anti-Spam.Para classificar como spam, clique aqui.
_______________________________________________pgbr-geral mailing [EMAIL
PROTECTED]://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_________________________________________________________________
Receba GRÁTIS as mensagens do Messenger no seu celular quando você estiver
offline. Conheça o MSN Mobile!
http://mobile.live.com/signup/signup2.aspx?lc=pt-br_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral