Just wanted to add that a harness indeed encourages pulling. They are used for sledding and "sport-pulling" contests. It wil give your dog much more strenth to pull against you as opposed to a collar.
If the choke collar was causing discomfort it may have been on wrong. You should make sure that when you are holding the collar in your hand and you open the loop that it makes a "P" shape. Slip the collar over the dogs head and make sure that the loop has the tendancy to fall open when you are not pulling on it. The choke collar should be used with short sidewards "snaps" to get the dogs attention more than "choking" the dog. Also, the short leash helps.
If you have the dog on your left side, hold the loop of the leash in your right hand, let the length of the leash run across the front of you (let it droop if need be) and hold the leash in your left hand at a point just long enough to keep your dog right by your side. Grip the leash with both of your hands in a palms up position. You want to have your elbows somewhat bent to keep the leash up and give you better control. (I wish I could draw a picture) It will be difficult for him to pull. if he does, a quick short sidewards snap towards you with your left hand should get his attention. You can stop and give him a sit command to get him to focus. Also the sudden change in direction helps as well. The short snap method works equally as well with a conventional collar.
You need your dog to get used to paying attention to you instead of everything else as hard as it might be for him.
Hope that helps