I assume that your current user may not have the permissions required for this command.
You tried:
DataTable dt = connection.GetSchema("Columns", new string[] {null, null, "MyTable");
Are there any results?
You should also try using a user description to avoid all sys tables. This may make the request smaller.
DataTable dt = connection.GetSchema("Columns", new string[] {null, "dbo", null);
user1877337
source share