Mary Chipman said:
There are some things that today you either have to hard-code or
provide wrappers for on your own, depending on your data source and
what kind of information you need to get out of it.
Someone writing a generic component can not possibly know all of the
different data sources in advance which an end-programmer might want to use.
Creating wrappers for some database systems and then giving up on all others
because Microsoft has not provided a generic way to find out certain needed
information, is certainly not the way to program or please one's customers
or organization when attempting to create generic code. Given that there has
to be a dividing line between what RDBMS specific information is provided by
ADO .NET, still some subset of all the possible areas of information should
be implemented. What is really strange is that a particularly useful subset
existed in ODBC, was enhanced in OLEDB, which was carried over into ADO, and
then is practically gone with ADO .NET. I realize that ADO .NET is
different, that it uses C++-like interface polymorphism and specific RDBMS
classes rather than ActiveX objects, which is certainly better in my
opinion, but that is no reason for just dropping all that previously
established useful functionality.
ADO.NET 2.0 will
take you further since the classes in the System.Data.Common namespace
have been expanded to make writing generic code easier, but it's still
in beta, subject to change, and may not deliver 100% of everything you
may want.
That is a nice disclaimer but it is not needed since, aside from the
information that the next release may have more information, you are not
telling me anything certain. Hopefully ADO .NET 2.0 will be much better in
the regard of generic RDBMS information, with some means of accessing a
great deal more functionality than the current release.