Agree with what has already been said here, and that you should stop, turn round and walk the other way each time he pulls. It could take weeks before you actually get anywhere, but if you let him pull and allow him to go where he wants, he will never stop.
With regards to harnesses, I would have said they dont stop dogs pulling too, 'until' I saw the perfect fit harness. I have just bought three for my Collies (not to stop them pulling though), and they will add an additional D ring at the front for you.....if you attach the lead to this front ring, and the dog pulls it will just go round in circles. Read the customer comments page. The owners who make these harnesses are behaviourists and very helpful.
http://dog-games-shop...it-fleece-dog-harness