ANSWER:
C: You must use the MSDataShape provider to create hierarchical record sets based on the Shape command language. When opening a connection with the MSDataShape provider, the original data source provider is specified through the Shape Provider argument of the ConnectionString.

Answers in Depth...