Postgre PL/JAVA

4 respostas
C

Pessoal estou preciso usar um método java em uma function no postgre, então implementando isso com o PL/JAVA fiz dessa forma

declarei a function no postgre

CREATE OR REPLACE FUNCTION "public"."enviarEmail" ( "protocolo" varchar, "host" varchar, "porta" varchar, "usuario" varchar, "senha" varchar, "remetente" varchar, "destinatario" varchar, "assunto" varchar, "mensagem" varchar, "isusarttls" boolean, "isusarfactoryssl" boolean, "isautenticacaossl" boolean ) RETURNS boolean AS $body$ br.brasif.email.EnviarEmail.enviarEmail $body$ LANGUAGE 'java' VOLATILE CALLED ON NULL INPUT SECURITY INVOKER COST 100;

importei o jar assim

select sqlj.install_jar('file:/C:/Arquivos de programas/PostgreSQL/8.3/share/pljava/email.jar', 'email', true)

até ai não deu nenhum erro, porem quando chamo o metodo ele diz que não existe nenhum método com tal assinatura na classe EnviarEmail

select public."enviarEmail"('smtp', 'brasif.com.br', '25', '[email removido]', '123456', '[email removido]', '[email removido]', 'Teste', 'Mensagem', false, false, true);

essa é a mensagem de erro

ERROR:  Unable to find static method br.brasif.email.EnviarEmail.enviarEmail with signature (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/Boolean;)Z

4 Respostas

J-Chist

No chute: seu método é estático? Eu tentaria colocar um static lá para ver.

C

Sim o método é static.

Scoobydoo
Chute...
'[email removido]'
em vez de fazer com
'String'
faça com
"[email removido]"
C

Com aspas dulpla ele da erro, ele entende como se fosse uma coluna

Criado 24 de fevereiro de 2010
Ultima resposta 25 de fev. de 2010
Respostas 4
Participantes 3