Ir para conteúdo
Fórum Script Brasil
  • 0

Lo_export com select


edmilton amazonas

Pergunta

Utilizo o seguinte comando:

SELECT lo_export(Clinha,'//sicsistemas/c/testeexport.r' )FROM tremessa WHERE nid_tremessa = 480 ;

NO sql editor do pgadmin funciona perfeitamente bem, faz tudo certinho

Porém quando coloco a mesma instrução dentro de uma função da a seguinte mensagem:

Consulta não tem destino para os dados resultantes

Poderiam me ajudar nisso, por gentileza

Edmilton

 

 

Link para o comentário
Compartilhar em outros sites

3 respostass a esta questão

Posts Recomendados

  • 0

Boa tarde Edmilton, sou novo no postgre, então eu vou tentar ajudar. Pelo que vejo "lo_export" parece ser uma função, certo ?

Se for o caso, então quando se executa ela no pgadmin, ela vai funcionar mesmo pois a consulta retornará um valor e será mostrado logo em seguida.

Quando se chama uma função dentro de outra, o resultado precisa ser armazenado em uma variável, portanto eu creio que foi por isso que o sistema emitiu esse erro pra você. Se estiver tentando apenas EXECUTAR a função lo_export, eu recomendo que tente trocar o SELECT por PERFORM, o comando PERFORM descarta o resultado da consulta. Agora se estiver tentando SALVAR ou RETORNAR o resultado dessa consulta, eu recomendo criar uma variável do tipo RECORD e usar o comando SELECT acrescentando a clausula INTO para que o postgre jogue o resultado dessa consulta dentro dessa variável. Ficaria mais ou menos assim.

 

DECLARE
resultado record;
BEGIN
SELECT lo_export(Clinha,'//sicsistemas/c/testeexport.r' ) INTO resultado FROM tremessa WHERE nid_tremessa = 480 ;
RETURN resultado;
END

Espero ter ajudado, forte abraço

Editado por lucasiigd
Link para o comentário
Compartilhar em outros sites

  • 0

Bom dia Lucas

Funcionou perfeitamente, inclusive utilizei uma variavel para guardar o caminho de destino do arquivo txt  no lugar do caminho relativo, ou seja ; fiz Wcaminho='//sicsistemas/c/texte.txt' e funcionou perfeitamente.

Agora vou testar com o Perform como você mesmo orientou

Muito obrigado pelas dicas amigo

Bom dia

Edmilton

Recife-pe 

Link para o comentário
Compartilhar em outros sites

  • 0
Em 27/11/2015 at 16:29, edmilton amazonas disse:

Utilizo o seguinte comando:

SELECT lo_export(Clinha,'//sicsistemas/c/testeexport.r' )FROM tremessa WHERE nid_tremessa = 480 ;

NO sql editor do pgadmin funciona perfeitamente bem, faz tudo certinho

Porém quando coloco a mesma instrução dentro de uma função da a seguinte mensagem:

Consulta não tem destino para os dados resultantes

Poderiam me ajudar nisso, por gentileza

Edmilton

 

 

 

 

Boa Tarde Lucas

 
O seu scripts funcionou perfeitamente até certo ponto conforme abaixo
 
Seu scripts.
SELECT lo_export(Clinha,'//sicsistemas/c/testeexport.r' ) INTO resultado FROM tremessa WHERE nid_tremessa = 480 ;
RETURN resultado;

 
Meu scripts.
SELECT lo_export(Clinha,Warq ) INTO resultado FROM tremessa WHERE nid_tremessa = 480 ;
RETURN resultado;
a diferença está no caminho relativo, que eu uso a variável WARQ
Conclusão:

 
Quando executo em duas máquinas um xp e a outra win 7 funciona perfeito
Agora estou fazendo a mesma coisa em um Server 2003 dá a seguinte mensagem
"Permission Denied" - É como se não tivesse permissão
E o diretório está com todos os previlégios de administrador e com a pasta compartilhada, e etc

OBS:

O a pasta que vai receber o arquivo enviado pelo lo_import está em outro computador da rede,

Quando faço o teste com a pasta dentro do servidor postgres funciona perfeito, mas, quando mando para a pasta em outro computador

acontece o erro

Pergunta
 
Você tem alguma sugestão que pudesse me ajudar amigo ?

 

Boa Tarde Lucas

 
O seu scripts funcionou perfeitamente até certo ponto conforme abaixo
 
Seu scripts.
SELECT lo_export(Clinha,'//sicsistemas/c/testeexport.r' ) INTO resultado FROM tremessa WHERE nid_tremessa = 480 ;
RETURN resultado;

 
Meu scripts.
SELECT lo_export(Clinha,Warq ) INTO resultado FROM tremessa WHERE nid_tremessa = 480 ;
RETURN resultado;
a diferença está no caminho relativo, que eu uso a variável WARQ
Conclusão:

 
Quando executo em duas máquinas um xp e a outra win 7 funciona perfeito
Agora estou fazendo a mesma coisa em um Server 2003 dá a seguinte mensagem
"Permission Denied" - É como se não tivesse permissão
E o diretório está com todos os previlégios de administrador e com a pasta compartilhada, e etc
Pergunta
 
Você tem alguma sugestão que pudesse me ajudar amigo ?
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,7k
×
×
  • Criar Novo...