He will provide infield depth for manager Bruce Bochy. Solarte played every infield position last season for the Blue Jays, making 83 starts at third base and 28 at second.
San Francisco dealt with significant injuries to first baseman Brandon Belt, second baseman Joe Panik and third baseman Pablo Sandoval last season and all missed extended time. Sandoval is recovering from August surgery to repair a torn right hamstring, while Belt has had repeated concussions and underwent season-ending right knee surgery in September.
The 31-year-old Solarte batted .226 with 17 home runs and 54 RBI in 122 games last season for Toronto. He played in the NL West the previous three-plus years with the Padres.