D. Has been.
The reason this is, is because the phrase "has been" means in the past continuing onto the present. Some might say it's C, but that doesn't sit write on the tongue when saying "He *is* a business man for many years" Because the sentence itself is talking about the past as well as the present.