Ir ao conteúdo
  • Cadastre-se

Usando GOTO para retornar em linha variavel


Posts recomendados

Senhores, estou com um pequeno problema.

 

Estou pegando informações de alguns XMLs e estou jogando estes para uma tabela. Porém, tem alguns que estão corrompidos e o sql server para o processamento. Preciso de uma maneira que quando o arquivo seja corrompido, eu obtenha uma tratativa, como faço no CATCH, porém, após essa tratativa, que ele me retorne ao TRY.

BEGIN TRY	INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime) SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE() FROM OPENROWSET(BULK 'C:\CAMINHO\XML1.xml', SINGLE_BLOB) AS x; 	INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime) SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE() FROM OPENROWSET(BULK 'C:\CAMINHO\XML2.xml', SINGLE_BLOB) AS x; 	INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime) SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE() FROM OPENROWSET(BULK 'C:\CAMINHO\XML3.xml', SINGLE_BLOB) AS x; 	INSERT INTO XMLwithOpenXML(XMLData, LoadedDateTime) SELECT CONVERT(XML, BulkColumn) AS BulkColumn, GETDATE() FROM OPENROWSET(BULK 'C:\CAMINHO\XML4.xml', SINGLE_BLOB) AS x; END TRYBEGIN CATCH	INSERT INTO TESTE SELECT ERROR_LINE() AS ErrorLine        --GOTO ERROR_LINE() END CATCH

Neste exemplo, os XML 2 e 4 estão corrompidos. Gostaria de gravar a linha de cada um deles em uma tabela a parte. Isto está ok, porém, quando ele chega no XML2, o cript vai para o CATCH e aí termina o processamento. Eu preciso que assim que ele gravar a linha do XML2 na tabela a parte, o programa volte na linha do XML3 e continue o processamento e assim por diante.

 

Tenho 17mil xmls e muitos estão corrompidos. Preciso muito automatizar este processo.

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

Visitante
Este tópico está impedido de receber novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...