Solo tengo una pregunta, mandas a llamr la funcion insertar por cada dato que lees, o todos los almacenas en un array y despues mandas a llamar insertar, de no ser como el ultimo caso creo que es por que mandas muchas veces a conectar.