Thank you, I have seen this section.
I need a solution that will just be able to query any table, and fill the dataset regardless the type of UDTs it contains.
I even do not need the values of the UDTs, just a solution so I won't get any errors.
Is there an option to just ignore UDTs ?
Is there a way to build something generic through reflection ?
You'd probably need to build something custom for this task. Applications that don't want to retrieve UDT (or any other) columns will generally not add the columns to the SELECT statement, rather than expect the application to know the underlying metadata and strip out the data it doesn't need.
One way you could do this is use materialized views. Query for just non-UDT columns into the view if you know which ones they are *OR* create a stored procedure that queries column metadata, add non-UDT columns to a SELECT column list, then create the view. You could certainly create a .NET app that does either of these, but the DB is likely a more efficient place to execute this task. I'm not a DBA myself, but this is the type of task that your DBA may have some ideas about.