I'm building a generic helper class to flatten an ADOMD data set to a data table for easier consumption by default and third party .NET controls. I can't rely on the Load method of the data table, nor the CellSet object as in some cases not all the information is persisted; datatypes and top level hierarchies to name two.
To persist all of the information I need to traverse the actual xml dataset returned by the ExecuteXMLReader method of the ADOMDCommand object.
I don't use xml enough these days to remember all the nuances with namespaces and it took me a little while to work out what to set the namespaces to in order for the 'SelectNodes' method to work.
Below is the code snippet I used to ensure the output from the ExecuteXmlReader method is fully traversable.
// Execute the command returning the XML data set
XmlReader reader = command.ExecuteXmlReader();
// Load the object into an XML document
XmlDocument xml = new XmlDocument();
// Create an XML namespace manager
System.Xml.XmlNamespaceManager nsManager=new XmlNamespaceManager(xml.NameTable);
// Add the namepsaces to the manager
// Return a list of nodes that represent the row information
XmlNodeList rows = xml.SelectNodes("defaultNS:root/defaultNS:Axes/defaultNS:Axis[@name ='Axis1']", nsManager);
This kb article helped me out a bit:
There are some more goodies included in my helper class that I will blog about in the future, once it's stable !
A number of .NET 3.x application samples have been published over the last few months and one in particular has caught my eye.
Family.Show is a feature rich ClickOnce desktop based genealogy application developed by Vertigo using WPF. It's pretty impressive, and even if you are not into that sort of thing, well worth a look.
What really stood out for me is how close the family tree viewer was to the decomposition tree found in ProClarity and the PerformancePoint Server add-in for Excel.
The clean, crisp, vector based UI allows slick and fast navigation of the entire data set that could, with a little imagination lend itself to a rather slick data analytical tool.
This kind of UI really appeals to me and I think will also really appeal to those occasional 'problem' users that do not need to understand the full data model and are not interested in overcoming the learning curve of ProClarity or Excel but, on occasion need to analyse data.
According to a recent Microsoft Press Release the launch date for SQL Server 2008 will be 27th February 2008 in LA. In addition, Visual Studio 2008 (Orcas) and Windows Server 2008 (Longhorn) will be launched at the same time and will kick off a whole series of marketing focused launch events around the world.
No news on the RTM release yet although word on the street suggests that Visual Studio 2008 will be released before the end of this year !! Now we are now in July, the start of Microsoft Fiscal Year 2008, can we expect the RTM release of SQL Server and Windows Server 2008 before July next year ? If not, surely they should be called SQL Server and Windows Server 2009 !?