(Visual)C ++的数据库抽象层

What options exist for accessing different databases from C++? Put differently, what alternatives are there to ADO? What are the pros and cons?