If your doctor won't give you a B12 shot tell him to shove it up his ass, and get a new doctor. It's not like you're asking him to write you a 'script for 300 oxycotin tabs.
The control-freakish nature of many medical professionals astounds me.
Anyway, you can also try large dosage (5000 mcg) sub-lingual B12. Some of it will make it into your bloodstream without going through your stomach.