2 things:

I'm watching the Cubs game and I'll give you the situation. Runners on 1st and 2nd and 0 outs. Astros player hits a fly ball to CF and the runner on 2nd advances to 3rd but runner on 1st stays.

The announcer said it doesn't count as a sacrifice. Is he wrong and if not, then why isn't it a sacrifice?

Also, if a player reaches base on an error, I'm assuming that his OBP goes up, right?