D.Y.
Yikes two hours that a long time. I had the same problem and when you go in and pick him up you are giving him just what he wants and this will cause problems later. Why not try laying him down and patting his head, back, hiney, rub it whatever calms him down. But do not and I can say this enough do not pick him up. My girlfriend thought that I was being mean when I did this and she later confided in me that she wished that she would of tried it herself because a t 5 she still has major sleep problems. Maybe he is getting to much sleep at night or you are putting him down to early. Try keeping him up later for his nap. He will eventually get tired. It does get easier I promise as a mother of two boys and one was a horrible sleeper. I thought he dr was going to have to give either him or me a sleeping pill or something. Children figure out rather quickly how to get what they want and my guess is that you rocked him to sleep or simply held him to sleep it is so hard not too because they are so sweet and full of unconditional love. You can not give in to what they want every time or come teenage years you will have a major problem and no body wants that. Try putting him to bed at night later or even getting him up earlier in the am or both. Let me know how it all turns out.
Remember do not pick him up. Its okay if he cries which if you areletting him cry that long you are aware of that but you have to go in from time to time and let him know that you still love him and lay him down, talk calmly to him, caress him but do not pick him up. Its hard but it does work.Just dont let him stand there and cry because then he does not know if mommie is comming back and he does get scared. Be strong!!!!