Jump to content
Fórum Script Brasil
  • 0
Sign in to follow this  
edmilton amazonas

Lo_export com select

Question

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

 

 

Share this post


Link to post
Share on other sites

3 answers to this question

Recommended Posts

  • 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

Edited by lucasiigd

Share this post


Link to post
Share on other 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 

Share this post


Link to post
Share on other 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 ?

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Cloud Computing


  • Forum Statistics

    • Total Topics
      148401
    • Total Posts
      643800
×
×
  • Create New...