Marcelo Conceição Postado 20 de Setembro de 2007 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 Denunciar Compartilhar Postado 20 de Setembro de 2007 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. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Emanuel Peixoto Postado 21 de Setembro de 2007 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 Denunciar Compartilhar Postado 21 de Setembro de 2007 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, Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Marcelo Conceição Postado 21 de Setembro de 2007 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 Autor Denunciar Compartilhar Postado 21 de Setembro de 2007 Muito obrigato cara. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Emanuel Peixoto Postado 21 de Setembro de 2007 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 Denunciar Compartilhar Postado 21 de Setembro de 2007 Resolveu? Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Jair - Fórmula Postado 21 de Setembro de 2007 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 Denunciar Compartilhar Postado 21 de Setembro de 2007 Muito boa a explicação. Vou analisar isso depois tambem. Nunca tentei fazer. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Marcelo Conceição Postado 21 de Setembro de 2007 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 Autor Denunciar Compartilhar Postado 21 de Setembro de 2007 Estou realizado alguns teste assim que finalizar coloco aqui no forum. Citar Link para comentar Compartilhar em outros sites Mais opções de compartilhamento...
Posts Recomendados
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.