The Astros lost for the 90th time this season, their latest losing streak having reached four games.
Ackley singled in a run in the fourth, drove in two more with a base hit in the fifth and had another RBI single in the ninth. The only Houston run was unearned.
Taijuan Walker picked up the victory in his major league debut, working five innings while giving up two hits with a walk and two strikeouts.
The loss went to Brad Peacock (3-5), who allowed five runs on seven hits in 4 2/3.
Pistorius testifies he didn't consciously pull trigger when he shot girlfriend
Charlize Theron not engaged to Sean Penn 'yet'