Ir para conteúdo
Seja Membro VIP - Remova Banners de Propagandas, Tenha Liberado Qualquer Download, Além de Acessos em Áreas Exclusivas!! ×
Quer acesso a todas as Áreas do Fórum, até aquelas só para membros VIPs? Também quer poder baixar qualquer ARQUIVO? ×

Duvida: Como Gerar Arquivos XML?


Posts Recomendados


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Bom dia.

Estou precisando gerar em arquivos XML o meu cadastro de Produto (TPRD) e Cliente/Fornecedor (FCFO). Já executei a seguinte sentença:

SELECT CODCFO CODIGO,NOMEFANTASIA,CGCCFO

FROM FCFO FOR XML AUTO

Porém não consegui gerar um arquivo XML correto. Alguém pode mi ajuda?

Verifiquei também os links:

http://forum.imasters.com.br/index.php?showtopic=9211

http://www.devmedia.com.br/articles/viewco...comp=6090&vt=-1

http://info.abril.com.br/forum/forum.php?topico=66436

Mesmo assim não consegui criar com sucesso arquivo XML.

Desde já sou grato.

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  152
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  770
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Olá Marcelo, para gerar o resultset de um XML em um arquivo vc pode usar o utilitário BCP mesmo.

como vc não postou detalhes do motivo de vc não estar conseguindo fazer a exportação, então, presuponho que vc esteja com dificuldades no utilitario BCP.

O BCP é um utilitario de prompt de comando onde vc pode realizar qualquer tarefa SQL via prompt.

A sintaxe básica para vc gerar um arquivo é a seguinte:

bcp "select * from tabela...." queryout "c:\arquivo.xml" -Sservidor -T -c

onde:

queryout é o parametro de geração do resultado em arquivo.

-S é para vc definir o servidor(pode ser remoto). NÃO COLOQUE ESPAÇO DEPOIS DO PARAMETRO "-S". Deve ser sem espaço. EX: "-Sservidor" ou "-S.", onde ponto é local, caso vc esteja executando do próprio servidor.

-T Define conexão com o usuário que está executando a sentença(trusted connection)

-c Formato caracter.

Obs: os parametros são case senitive, por isso, atenção no Maiúsculo e minisculo.

no seu caso via PROMPT ficaria assim:

bcp "SELECT CODCFO,CODIGO,NOMEFANTASIA,CGCCFO

FROM CORPORERM..FCFO FOR XML AUTO" queryout "c:\xmlfile.xml" -Sservidor -T -c'

Caso vc queira executar apartir do Query Analyzer ou de uma aplicação vc terá que chamar o bcp através da procedure XP_CMDSHELL. Essa procedure executa qualquer comando de PROMPT DOS,

ex: xp_cmdshell 'del c:\xmlfile.xml' ***sempre com aspas simpes.

Importante: essa procedure está no master, portanto, ao executa-la explicite o master. ex: master..xp_cmdshell '.......' isso para evitar que vc chame o comando estando em outro database, caso contrário, vai dar erro porque essa procedure só existe no master. O usuário deve ter acesso a execução, por padrão só o SA e usuários incluidos na rule sysadmin tem esse acesso, à não ser é claro que vc explicite permissão de execução para usuários não sysadmin.

Outra coisa, por questões de segurança(evitar comando indevidos e não autorizados) o SQL2005 por padrão vem com o xp_cmdshell desabilitado. para habilita-lo vc tem que ir no "SURFACE AREA CONFIGURATION" ou no Query Analyzer vc faz o seguinte:

SP_CONFIGURE 'XP_CMDSHELL',1

RECONFIGURE WITH OVERRIDE

No seu caso a importação do arquivo xml via QA ficaria assim:

Exec master..xp_cmdshell 'bcp "SELECT CODCFO,CODIGO,NOMEFANTASIA,CGCCFO

FROM corporerm..FCFO FOR XML AUTO" queryout "c:\xmlfile.xml" -Sservidor -T -c'

Pra terminar e não alongar ainda mais o testo, com relação ao formato de saida do arquivo XML(RAW,AUTO,EXPLICIT ou PATH), recomendo vc a dar uma olhada no BO - books online do SQL Server.

abraço,

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

:Valeu: Muito obrigato cara.
Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  1
  • Tópicos/Dia:  0.00
  • Meu Conteúdo:  152
  • Conteúdo/Dia:  0.02
  • Reputação:   0
  • Pontos/Conquistas:  770
  • Conteúdo Resolvido:  0
  • Dias Ganho:  0
  • Status:  Offline
  • Idade:  44

Resolveu?

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  899
  • Tópicos/Dia:  0.14
  • Meu Conteúdo:  8.841
  • Conteúdo/Dia:  1.34
  • Reputação:   310
  • Pontos/Conquistas:  106.574
  • Conteúdo Resolvido:  0
  • Dias Ganho:  195
  • Status:  Offline
  • Idade:  52
  • Dispositivo:  Windows

Muito boa a explicação.

Vou analisar isso depois tambem. Nunca tentei fazer.

:Valeu:

Link para comentar
Compartilhar em outros sites


  • Tópicos Que Criei:  125
  • Tópicos/Dia:  0.02
  • Meu Conteúdo:  458
  • Conteúdo/Dia:  0.07
  • Reputação:   1
  • Pontos/Conquistas:  3.531
  • Conteúdo Resolvido:  0
  • Dias Ganho:  1
  • Status:  Offline
  • Idade:  44

Estou realizado alguns teste assim que finalizar coloco aqui no forum.

Link para comentar
Compartilhar em outros sites

Participe da conversa

Você pode postar agora, e se registrar mais tarde. Se você tiver uma conta, faça o login agora para postar com sua conta.

Visitante
Responder esse tópico

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

  Only 75 emoji are allowed.

×   Seu link foi automaticamente inserido no corpo do post.   Exibir como um link

×   Seu conteúdo anterior foi restaurado.   Limpar conteúdo do editor

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

×
×
  • Criar Novo...

Informação Importante

Usando este site, você concorda com nossos Termos de Uso e nossa Política de Privacidade.