Для OleDb существует метод OleDbConnection.GetoleDbSchemaTable (). Я использовал это с Access.
У меня есть пример в этом коде на GitHub:
SchemaValidator.cs
Должен быть метод .Schema () и для OdbcConnection. IIRC.
Я заметил, что фактические возвращаемые значения могут варьироваться в зависимости от базы данных, поэтому вы захотите сделать немало проверок и отладок, чтобы увидеть, какие значения он может вернуть.