Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

patriciatoscano

Loop em blocos, Ler XML, Inseri banco, atualiza valor do atributo XML

Recommended Posts

Olá Galera,Estou precisando de um help uma ajuda urgente de como e se é possível fazer isso.Tenho um código com a seguinte lógica:1 - Faço o upload de um arquivo xml2 - Abro o arquivo xml3 - Leio o arquivo, linha por linha4 - Comparo para vê se o dado já existe no banco5 - Se não existir, vou inserirndo no banco de dados4 - No final gravo no histórico de operaçãoAté ai beleza para arquivos que não tenha muitos registros, se tiver muitos registro o loop é encerrado com scrip timeout automáticamente pelo servidor.O problema é o seguinte o arquivo xml tem muitas linha muitos registro um total em média de 9.000 a 15.000, registros para ser lidos do xml e inseridos no banco de dados.Ai o loop fica gigante e acabaca caindo em script time out.A minha ideia seria a seguinte eu criar mais um campo no xml chamado status e colocaria como valor default 0, e a cada leitura e inserção no banco eu alteraria o valor do status para 1 no xml.Ai quando eu fosse lê o xml eu irira lê filtrando os dados somente que tiver os status igual a 0, pois assim eu poderia fazer, o loop em blocos, e não teria esse problema script time out.Mais o meu probelma é justamente esse, conseguir alterar o campo status em questão de 0 para 1, e lêr o xml filtrando pelo status = 0, tipo como se faz com sql.Estou usando o XMLDOM na locaweb.Estou precisando disso com muita urgencia, por favor me ajudem, qualquer sugestão informação, tutorial , dica, código, exemplo e etc... será muito válido e de muita ajuda.Aguardo uma ajuda de todos.Um Abraço a todo e grata desde já

Compartilhar este post


Link para o post
Compartilhar em outros sites

não seria mais pratica essa logica:ler o arquivo XMLgrava os dados numa tabela temporáriafaz a comparação de dados da tabela temporaria com a tabela principal, o uqe existe duplicado muda o status da tabela temporáriavai fazendo o Insert e ao termino de cada um faz o update no status na tabela temporária indicando que o registro já existeAo terminar você exporta a tabela temporária como deseja e destroi a mesmaAcho que com isso você manipula os dados de maneira mais rapida e segura

Compartilhar este post


Link para o post
Compartilhar em outros sites

Sim pode ser, porem nunca usei tabela temporária nem sei como utiliza-las, uso o banco access, será que você poderia me mostrar um exemplo de como eu posso fazer desta forma que você me deu a dica, poderia mostrar um código.De qualquer forma o probelma é o scrip time out, mesmo que eu o aumente pode ser que mesmo assim esbarre no timeout padrão de segurança no servidorAguardo ajuda e obrigado desde já.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.