I haven't found much success with one treatment product or another, but I have found a great method for extracting the odor with whatever product you use (I'd start with the vinegar water mix).
This was a suggestion given to me by a professional steam cleaner guy. You need an old iron you'll never use for clothing again and an old towel. Once you've left your treatment to soak awhile, lay the towel on the area. With the iron at it's hottest setting, start ironing the towel. It works like a steam cleaner and pulls the odor and stain out into the towel.
I've never found any method that works better than this. I have a steam cleaner for general household carpet cleaning, but I always bring out my handy dandy old crummy iron for pulling out trouble spots.