GetSchema works well for the major databases I've used, Oracle, SQL Server,
MySQL, PostgreSQL as well as CSV & Excel. However, you may have to deal
with some of the pecularities of the implementation of each of them. They
should all return the table names similarly, however, some will return all
the system tables. Some will return only the tables accessible to the user.
There are some other peculiarities that show up such as whether null or the
empy string is returned for blank columns.
Still, it's the best method I've found.