Teun posted this excellent article on creating a custom DataExtension for Sql Server 2000 Reporting Services (SQL2kRS) to interface with the List.asmx web service provided by Sharepoint.
Beside the fact that its a useful DataExtension, I was impressed with how he implemented it. This is the first code example I have seen where the author simply implemented IDbConnection, IDbCommand and IDbDataReader instead of trying to write all the plumbing to directly wire-up the IExtension and IDataExtension interfaces.
The beauty of this approach is that the DataProcessing classes within SQL2kRS will automagically wrap your IDbConnection and use the built-in generic dataextension represented by the ConnectionExtension, ConnectionWrapper, CommandWrapperExtension, and CommandWrapper classes. By going this route, not only do you save code and complexity, but you also get free tracing services via the RSTrace class which writes informational, warning, and error traces to the standard SQL2KRS logfiles.
Most examples of DataExtensions I have seen fail to reference the Microsoft.ReportingServices.Diagnostics.dll and therefore fail to utilize the RSTrace class for tracing. This leads to difficulties when trying to debug errors in your data extension, or causes you to look at several places instead of the standard log files.
I have written a couple data extensions like Teun's example after figuring all this out the hard way, so its nice to see others start documenting this approach.
Great post, Teun!
[06/15/2005] - Corrected spelling of Teun's name. Sorry for the typo!