Re: [oracle_br] Re: Enviando SFTP

2018-12-04 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Chiappa,

No *package*, que dentre outras funções, tem o envio do FTP   é FTP
mesmo e não o SFTP.

Como é uma coisa simples, esse que preciso enviar ao SFTP, criei um .BAT
que pega o arquivo gerado por uma *procedure *e envia via comando do WINSCP..

Muito obrigado Chiappa pelas explicações e ajuda, como sempre és muito
solícito!

o/

Em ter, 4 de dez de 2018 às 15:49, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Seguem as respostas :
>
> "1 - tomei como base um script que ja funciona, de outra rotina, mas que
> tomei como base daqui https://oracle-base.com/articles/misc/ftp-from-plsql
> "
>
> ==> Nesse artigo mesmo, logo no começo BEM CLARAMENTE há um link "SFTP and
> FTPS", onde o autor bem diretamente diz que a rotina dele NÂO SERVE pra
> nada que não seja FTP 'puro', SEM sftp e SEM encriptação, nem Autenticação
> de nenhum tipo Vc NÂO O DIZ então pergunto, vc quer fazer FTP ** normal
> ** ou SFTP ??
>
> "2 - Verson 11.2"
>
> => Tá : sendo 11.2 é superior ou igual à 11g, então vc TEM que ter ACL
> nesse database : vc tem ??? Se não tem, crie um...
>
> "3 - Tenho acesso, pois outra aplicação já funciona"
>
> => Essa 'outra aplicação' envia arqs via ftp por esse MESMO DATABASE que
> estamos discutindo ?? certeza Absoluta que sim ?? Se for isso mesmo, é
> certo que vc tem acesso por rede... Anyway, não custa fazer o teste ie
> instalar nesse servidor Oracle um client ftp ou sftp ou seja qual for o
> protocolo que vc quer usar e tentar fazer uma transferência manual a partir
> desse servidor Oracle...
>
> "4 - Sim sei a diferença, e acho que é ai q esta dando a bronca, pois essa
> rotina funciona qdo é para FTP normal."
>
> ==> Essa é a pegrunta, que repito : nessa transferência vc quer usar FTP
> ou SFTP ou qual protocolo ??? Confirme isso, e então retorne... Com Certeza
> porém já te digo, SE for SFTP o exigido nesse servidor, não só vc vai
> precisar mexer nesse código mas aí entram algumas outras questões, como
> AUTENTICAÇÃO via Certificado, que podem exigir outros itens no seu servidor
> Oracle...
>
> "Li num site algo sobre o UTL_FTP, será que preciso??"
>
> ==> Repito : até onde sei nem no 11g nem nas versões mais recentes como
> 12c ** NÂO EXISTE NADA NATIVO pra FTP **, ponto : assim sendo, com Absoluta
> Certeza essa site que vc não lembra deve estar falando de algum código
> NÃO-ORACLE, como https://sourceforge.net/projects/plsqlftp/ por
> exemplo
>  Se vc vai precisar desse outro código, DEPENDE : se vc só precisar mesmo
> de protocolo FTP simples, afaik esse código que vc pegou do ORACLE-BASE
> mesmo serve Perfeitamente, não faz sentido trocar seis por meia dúzia
>  Já se vc precisar de protocolos mais avançados como SFTP, ou de
> encriptação ou de certificado de acesso, aí sim esse código do ORACLE-BASE
> não te atende : aí vc vai procurar em outras fontes por códigos que façam o
> que vc precisa, na página do ORACLE-BASE mesmo ele indica uns links pra
> SFTP e pra autenticação via WALLETs
>
>  []s
>
>   Chiappa
> 
>


Re: [oracle_br] Re: Enviando SFTP

2018-12-04 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Seguem as respostas :

"1 - tomei como base um script que ja funciona, de outra rotina, mas que tomei 
como base daqui https://oracle-base.com/articles/misc/ftp-from-plsql;

==> Nesse artigo mesmo, logo no começo BEM CLARAMENTE há um link "SFTP and 
FTPS", onde o autor bem diretamente diz que a rotina dele NÂO SERVE pra nada 
que não seja FTP 'puro', SEM sftp e SEM encriptação, nem Autenticação de nenhum 
tipo Vc NÂO O DIZ então pergunto, vc quer fazer FTP ** normal ** ou SFTP ??

"2 - Verson 11.2"

=> Tá : sendo 11.2 é superior ou igual à 11g, então vc TEM que ter ACL nesse 
database : vc tem ??? Se não tem, crie um...

"3 - Tenho acesso, pois outra aplicação já funciona"

=> Essa 'outra aplicação' envia arqs via ftp por esse MESMO DATABASE que 
estamos discutindo ?? certeza Absoluta que sim ?? Se for isso mesmo, é certo 
que vc tem acesso por rede... Anyway, não custa fazer o teste ie instalar nesse 
servidor Oracle um client ftp ou sftp ou seja qual for o protocolo que vc quer 
usar e tentar fazer uma transferência manual a partir desse servidor Oracle...

"4 - Sim sei a diferença, e acho que é ai q esta dando a bronca, pois essa 
rotina funciona qdo é para FTP normal."

==> Essa é a pegrunta, que repito : nessa transferência vc quer usar FTP ou 
SFTP ou qual protocolo ??? Confirme isso, e então retorne... Com Certeza porém 
já te digo, SE for SFTP o exigido nesse servidor, não só vc vai precisar mexer 
nesse código mas aí entram algumas outras questões, como AUTENTICAÇÃO via 
Certificado, que podem exigir outros itens no seu servidor Oracle...

"Li num site algo sobre o UTL_FTP, será que preciso??"

==> Repito : até onde sei nem no 11g nem nas versões mais recentes como 12c ** 
NÂO EXISTE NADA NATIVO pra FTP **, ponto : assim sendo, com Absoluta Certeza 
essa site que vc não lembra deve estar falando de algum código NÃO-ORACLE, como 
https://sourceforge.net/projects/plsqlftp/ por exemplo
 Se vc vai precisar desse outro código, DEPENDE : se vc só precisar mesmo de 
protocolo FTP simples, afaik esse código que vc pegou do ORACLE-BASE mesmo 
serve Perfeitamente, não faz sentido trocar seis por meia dúzia
 Já se vc precisar de protocolos mais avançados como SFTP, ou de encriptação ou 
de certificado de acesso, aí sim esse código do ORACLE-BASE não te atende : aí 
vc vai procurar em outras fontes por códigos que façam o que vc precisa, na 
página do ORACLE-BASE mesmo ele indica uns links pra SFTP e pra autenticação 
via WALLETs
 
 []s

  Chiappa

Re: [oracle_br] Re: Enviando SFTP

2018-12-04 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Chiappa

Boa Tarde

Obrigado pelo retorno.

1 - tomei como base um script que ja funciona, de outra rotina, mas que
tomei como base daqui https://oracle-base.com/articles/misc/ftp-from-plsql
2 - Verson 11.2
3 - Tenho acesso, pois outra aplicação já funciona
4 - Sim sei a diferença, e acho que é ai q esta dando a bronca, pois essa
rotina funciona qdo é para FTP normal. Li num site algo sobre o UTL_FTP,
será que preciso??




Em ter, 4 de dez de 2018 às 12:47, jlchia...@yahoo.com.br [oracle_br] <
oracle_br@yahoogrupos.com.br> escreveu:

>
>
> Blz ? Então, pra gente tentar te ajudar, vc TEM que nos dar as seguintes
> informações :
>
> 1. Com ABSOLUTA certeza, não há rotina PRONTA no RDBMS Oracle pra fazer
> FTP, SCP, SFTP ou operações do tipo : sendo assim, é CERTO que vc pegou
> essa package FTP de algum lugar : nos diga EXTAMENTE DE ONDE, pra podermos
> dar uma olhada nesse código
>
> 2. ** QUAL É ** a Versão e a Edição do seu database Oracle ?? Se for
> versão 11g ou superior, SAIBA que como camada adicional de Segurança a
> partir do 11g passou a ser exigido um Controle Adicional para permitir
> qualquer comunicação de rede entre o servidor Oracle e um host/IP externo,
> o chamado ACL (Access Control List) : se vc estiver nessa versão 11g ou
> superior, vc TEM que criar um ACL pra permitir o acesso, vide
> https://oracle-base.com/articles/11g/fine-grained-access-to-network-services-11gr1
> para exemplo e os manuais Oracle correspondente para a teoria necessária
>
> 3. Além da questão do ACL, é ** óbvio ** que vc TEM que ter acesso via
> Rede entre o servidor Oracle e o servidor de FTP : tipicamente por questão
> de Segurança um servidor Oracle fica na DMZ, sem ter acesso a NENHUM
> host/ip externo e SEM ser acessível por rede a não ser na porta do Listener
> Oracle Sendo assim, vc VAI TER QUE confirmar com teus administradores
> de Rede se o servidor Oracle tem acesso ao servidor de FTP, quais configs
> de rede necessitam ser feitas (entrada no DNS ?) e ** quais ** são os
> bloqueios de rede (firewall, filtro de pacotes, etc) que devem ser
> removidos da comunicação entre o servidor Oracle e o servidor de ftp...
>  Um bom teste que vc pode fazer é instalar no servidor Oracle um
> programa-cliente de FTP (ou de SFTP, se for o caso) , com o mesmo usuário
> que roda o RDBMS Oracle, e tentar fazer uma transmissão/recepção de arquivo
> manualmente...
>
> 4. Não pude deixar de notar que no título da pergunta vc cita SFTP
> (safeFTP) , mas a rotina que vc cita se chama FTP apenas : vc SABE que há
> diferenças gritantes entre o protocolo SFTP e o protocolo FTP, sim ??? Vc
> TEM CERTEZA que essa tal rotina implementa o necessário pra cominucação
> SFTP, se é isso que vc quer ?
>
> Responda a esses itens e podemos tentar te ajudar
>
> []s
>
>   Chiappa
> 
>


[oracle_br] Re: Enviando SFTP

2018-12-04 Por tôpico jlchia...@yahoo.com.br [oracle_br]
Blz ? Então, pra gente tentar te ajudar, vc TEM que nos dar as seguintes 
informações :

1. Com ABSOLUTA certeza, não há rotina PRONTA no RDBMS Oracle pra fazer FTP, 
SCP, SFTP ou operações do tipo : sendo assim, é CERTO que vc pegou essa package 
FTP de algum lugar : nos diga EXTAMENTE DE ONDE, pra podermos dar uma olhada 
nesse código

2. ** QUAL É ** a Versão e a Edição do seu database Oracle ?? Se for versão 11g 
ou superior, SAIBA que como camada adicional de Segurança a partir do 11g 
passou a ser exigido um Controle Adicional para permitir qualquer comunicação 
de rede entre o servidor Oracle e um host/IP externo, o chamado ACL (Access 
Control List) : se vc estiver nessa versão 11g ou superior, vc TEM que criar um 
ACL pra permitir o acesso, vide 
https://oracle-base.com/articles/11g/fine-grained-access-to-network-services-11gr1
 para exemplo e os manuais Oracle correspondente para a teoria necessária

3. Além da questão do ACL, é ** óbvio ** que vc TEM que ter acesso via Rede 
entre o servidor Oracle e o servidor de FTP : tipicamente por questão de 
Segurança um servidor Oracle fica na DMZ, sem ter acesso a NENHUM host/ip 
externo e SEM ser acessível por rede a não ser na porta do Listener Oracle 
Sendo assim, vc VAI TER QUE confirmar com teus administradores de Rede se o 
servidor Oracle tem acesso ao servidor de FTP, quais configs de rede necessitam 
ser feitas (entrada no DNS ?) e ** quais ** são os bloqueios de rede (firewall, 
filtro de pacotes, etc) que devem ser removidos da comunicação entre o servidor 
Oracle e o servidor de ftp...
 Um bom teste que vc pode fazer é instalar no servidor Oracle um 
programa-cliente de FTP (ou de SFTP, se for o caso) , com o mesmo usuário que 
roda o RDBMS Oracle, e tentar fazer uma transmissão/recepção de arquivo 
manualmente...

4. Não pude deixar de notar que no título da pergunta vc cita SFTP (safeFTP) , 
mas a rotina que vc cita se chama FTP apenas : vc SABE que há diferenças 
gritantes entre o protocolo SFTP e o protocolo FTP, sim ??? Vc TEM CERTEZA que 
essa tal rotina implementa o necessário pra cominucação SFTP, se é isso que vc 
quer ?

Responda a esses itens e podemos tentar te ajudar

[]s

  Chiappa

[oracle_br] Enviando SFTP

2018-12-04 Por tôpico Mario Rodrigues marioirodrig...@gmail.com [oracle_br]
Srs,

Bom Dia

Usando esta função:
FUNCTION SEND_FTP(VARQ IN VARCHAR2) RETURN BOOLEAN IS
  l_conn  UTL_TCP.connection;
BEGIN

  l_conn := ftp.login('url', 'porta', 'usuario, 'senha');
  ftp.ascii(p_conn => l_conn);
  ftp.put(p_conn  => l_conn,
  p_from_dir  => P_DIRETORIO',
  p_from_file => VARQ,
  p_to_file   => '/PASTA/'||VARQ);
  ftp.logout(l_conn);


 RETURN TRUE;
EXCEPTION
WHEN OTHERS THEN
BEGIN

   DBMS_OUTPUT.put_line('SEND_FTP. Erro: '||SQLCODE ||' '||SQLERRM);

   RETURN FALSE;
END;
END;

E estou com o seguinte erro:
SEND_FTP. Erro: -29260 ORA-29260: erro da rede: TNS:operação sofreu timeout

Alguém poderia me ajudar? Sou zero a esquerda em envio tanto por email
quanto via FTP.

Obrigado.