Bom dia a todos.
Estou com uma dúvida. Criei uma Procedure que me retorna várias linhas com várias concatenações de dados, porém preciso exporta-las para um arquivo CSV. Porém preciso de algo no PL/SQL que me exporte esse arquivo sem precisar criar diretórios, sendo assim o UTL_FILE está descartado
Preciso que isso seja feito de modo automático, alguém pode me ajudar quanto a isso?
Obrigado
Exportar dados para arquivo CVS sem criar diretório
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, beleza?
E se você criasse um programa pra rodar no sql*plus, utilizando spool?
Algo do tipo:
Dessa forma você teria que ter apenas o client do Oracle e, já criaria teu arquivo com ponto-e-vírgula.
Qualquer coisa, manda pra gente.
E se você criasse um programa pra rodar no sql*plus, utilizando spool?
Algo do tipo:
spool c:\teste.txt;
select 'a;b;c;d;e' from dual;
spool off;
Qualquer coisa, manda pra gente.
E aí cara!
Obrigado pela resposta!
Então, eu fiz alguns testes com o Spool antes de perguntar, porém, não sei porque, não me retornou nada do meu select para a planilha que criei.
1- Eu consigo executar o Spool diretamente de uma procedure, sem abrir o command window (SQL*Plus)?
2 - Os campos da linha que quero escrever no arquivo são concatenados, com um ponto e vírgula entre eles. Fiz alguns testes com outro select que fiz concatenando outros dados com ponto e vírgula, porém não vieram as informações que eu pretendia, na verdade não veio nada rs
Segue abaixo o select que busca todos os dados e os concatena:
No Oracle eu tenho a resposta pretendida, porém no SQLPlus..
Obrigado!
Obrigado pela resposta!
Então, eu fiz alguns testes com o Spool antes de perguntar, porém, não sei porque, não me retornou nada do meu select para a planilha que criei.
1- Eu consigo executar o Spool diretamente de uma procedure, sem abrir o command window (SQL*Plus)?
2 - Os campos da linha que quero escrever no arquivo são concatenados, com um ponto e vírgula entre eles. Fiz alguns testes com outro select que fiz concatenando outros dados com ponto e vírgula, porém não vieram as informações que eu pretendia, na verdade não veio nada rs
Segue abaixo o select que busca todos os dados e os concatena:
Select UNIDADE || '--' || NOMEALUNO || ';' || RA || ';' || RG || ';' ||
DIGITORG || ';' || Estadoemissor || ';' ||
to_char(EMISSAORG, 'DD/MM/YYYY') || ';' || Sexo || ';' ||
to_char(NASCIMENTO, 'DD/MM/YYYY') || ';' || NUMERO || ';' ||
NUMEROAPARTAMENTO || ';' || BLOCO || ';' || COMPLEMENTO || ';' || CEP || ';' ||
TELEFONE || ';' || CELULAR || ';' || EMAIL || ';' || responsavel || ';' ||
CodigoPais || ';' || CodigoCurso|| ';' || CodigoTurma || ';'
from web_acesso
where unidade =web_acesso.arquivocriado is null;
No Oracle eu tenho a resposta pretendida, porém no SQLPlus..
Obrigado!
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Brother, blzinha?
Cara, não sei se interpretei corretamente, mas, está ai abaixo:
1) Pelo que eu entendi, você gostaria de fazer algo do tipo:
Se for isso, deixo o tópico em aberto, pois creio que não tenha como. O que dá pra fazer é chamar a procedure via SQL*Plus, em um arquivo
2) Você só tem uma instância Oracle nessa máquina? Na verdade era pra trazer retorno em ambos.
Verique se o SPOOL está habilitado:
Talvez possa ser isso.
Qualquer dúvida, manda pra gente de novo, ok?
Cara, não sei se interpretei corretamente, mas, está ai abaixo:
1) Pelo que eu entendi, você gostaria de fazer algo do tipo:
CREATE OR REPLACE PROCEDURE PRC_SPOOL
IS
BEGIN
SPOOL C:\Dir\Arquivo.txt
END PRC_PROCEDURE_SPOOL;
.BAT
(Windows) ou .SH
(Linux/Unix).2) Você só tem uma instância Oracle nessa máquina? Na verdade era pra trazer retorno em ambos.
Verique se o SPOOL está habilitado:
set serveroutput on
Qualquer dúvida, manda pra gente de novo, ok?
E aí cara!
Deu certo do jeito que você me falou! Muito obrigado!
Deu certo do jeito que você me falou! Muito obrigado!
-
- Moderador
- Mensagens: 2016
- Registrado em: Qua, 12 Jan 2005 3:25 pm
- Localização: Araraquara - SP
Abraço,
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Trevisolli
OCA Oracle PL/SQL Developer Certified Associate
OCP Oracle Forms Developer Certified Professional
Araraquara-SP
Valeu brother, precisando, conte com a gente.
-
- Informação
-
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 17 visitantes