<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://prologika.com/CS/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Prologika (Teo Lachev's Weblog) : SQL Server 2008 R2</title><link>http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx</link><description>Tags: SQL Server 2008 R2</description><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP2 (Build: 40407.4157)</generator><item><title>Fixing Indicator Images</title><link>http://prologika.com/CS/blogs/blog/archive/2010/05/21/fixing-indicator-images.aspx</link><pubDate>Fri, 21 May 2010 22:20:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4480</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4480</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/05/21/fixing-indicator-images.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://prologika.com/CS/blogs/blog/archive/2009/11/18/indicators.aspx"&gt;Indicators&lt;/a&gt;, a new feature of Reporting Services 2008 R2, let you show images for state values on your reports and avoid using custom images and expressions. Sean Boon&amp;#39;s &lt;a href="http://blogs.msdn.com/seanboon/archive/2010/05/20/sizing-up-indicators-in-sql-server-reporting-services-2008-r2.aspx"&gt;recent blog&lt;/a&gt; shows you how to scale the indicator images. One annoying issue business users reported when working with indicators is that the indicator image stretches if the text grows and spills to the next row. For example, on the report below the second row spans two lines and its indicator images are stretched vertically. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/052110_2222_FixingIndic1.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Unfortunately, the indicator region doesn&amp;#39;t have a property to &amp;quot;fix&amp;quot; the image size. The only workaround for now is to enclose the entire indicator region in a rectangle: a kludgy hack especially for business users. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4480" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Microsoft SQL Server 2008 R2 Feature Pack Available</title><link>http://prologika.com/CS/blogs/blog/archive/2010/05/12/microsoft-sql-server-2008-r2-feature-pack-available.aspx</link><pubDate>Wed, 12 May 2010 12:09:52 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4444</guid><dc:creator>tlachev</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4444</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/05/12/microsoft-sql-server-2008-r2-feature-pack-available.aspx#comments</comments><description>&lt;p&gt;Microsoft &lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=ceb4346f-657f-4d28-83f5-aae0c5c83d52"&gt;released&lt;/a&gt; the Microsoft SQL Server 2008 R2 Feature Pack. Among other things, it includes Report Builder 3.0, Reporting Services SharePoint Add-in, and PowerPivot for Excel.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4444" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Atlanta.MDF Presentation</title><link>http://prologika.com/CS/blogs/blog/archive/2010/05/11/atlanta-mdf-presentation.aspx</link><pubDate>Tue, 11 May 2010 12:28:41 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4443</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4443</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/05/11/atlanta-mdf-presentation.aspx#comments</comments><description>&lt;p&gt;My presentation &amp;quot;What&amp;#39;s New in Reporting Services 2008 R2&amp;quot; for the local Atlanta.MDF group went well last night. We had some 80 people attending and I had some great questions. Too bad I couldn&amp;#39;t beat my previous attendance record. I guess rain and traffic were deterrent factors. Thanks for everyone who attended! I posted the presentation materials on my &lt;a href="http://prologika.com/CS/media/p/4442.aspx"&gt;website&lt;/a&gt;. It should be available shortly on the &lt;a href="http://atlantamdf.com/"&gt;Atlanta.MDF site&lt;/a&gt; as well. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4443" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Events/default.aspx">Events</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Synchronizing Reporting Services Groups</title><link>http://prologika.com/CS/blogs/blog/archive/2010/05/03/synchronizing-reporting-services-groups.aspx</link><pubDate>Mon, 03 May 2010 23:41:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4431</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4431</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/05/03/synchronizing-reporting-services-groups.aspx#comments</comments><description>&lt;p&gt;One new R2 feature that I discovered while reading the Reporting Services Recipes &lt;a href="http://prologika.com/CS/blogs/blog/archive/2010/05/01/book-review-microsoft-sql-server-reporting-services-recipes.aspx"&gt;book&lt;/a&gt;, is group data synchronization. Consider the following report (download the two sample reports &lt;a href="http://prologika.com/CS/media/p/4429.aspx"&gt;here&lt;/a&gt;): &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi1.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;In this report, the matrix region is nested inside a list region. The list region pages (groups) on product while the nested matrx region displays the sales for the current product grouped by region and year. As you can see, Mountain-200 Sliver, 42 has data for years 2003 and 2004 but if you move to the next page, you will see that Montain-200 Silver, 46 has sales for 2002, 2003, and 2004. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi2.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;What if you want to synchronize the instances of the matrix region to return the same number of columns, which in this case would it all available years in the dataset? In R2, this takes a few clicks. &lt;/p&gt;
&lt;ol style="margin-left:38pt;"&gt;
&lt;li&gt;In design mode, click anywhere inside the nested matrix region so the Groups pane shows its groups. &lt;/li&gt;
&lt;li&gt;Select the CalendarYear column group on which the matrix region pivots. &lt;/li&gt;
&lt;li&gt;Expand the Group section in the Properties window and enter the name of the outer region in the DomainScope property. In this case, the outer region is the list region whose name is List. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi3.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Now, when you run the report, all instances of the matrix region are synchronized and have the same number of columns irrespective of the fact that they might not have data for given years. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi4.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;DomainScope is similar to expression scope but not the same. DomainScope can be set on a group leaf member only. So, if the matrix region was grouping on years and quarters, you can synchronize quarters only in which case each year would show four quarters. You cannot synchronize the Year level because it&amp;#39;s a parent group. In addition, the domain scope can be an outer group or region. Unlike expression scopes, you cannot synchronize on a dataset. &lt;/p&gt;
&lt;p&gt;Group synchronization comes also handy when you work with sparklines. For example, the following report includes an Over Time column that shows a bar sparkline for product category sales over years. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi5.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;As you can see, the Caps category has sales for four years (The AventureWorksDW2008 database has data for years 2001-2004), while Bib-Shorts category has data for two years. However, the sparklines groups are not aligned. For instance, you can&amp;#39;t tell which two years Bib-Shorts have sales for. To fix this: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Double-click the sparkline region to show the Chart Data window. &lt;/li&gt;
&lt;li&gt;Click the CalendarYear group and set the DomainScope property to the name of the containing tablix region, Tablix1 in this case. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi6.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Now, when you run the report, you&amp;#39;ll see that the sparkline group ordinal position reflects the year. Thus, knowing the range of available years (2001-2004) which for clarity you can display on the report, e.g. as a subtitle, Bib-Shorts have data for years 2002 and 2003, while Bike Racks have data for 2003 and 2004. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/050310_2342_Synchronizi7.png" alt="" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4431" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Reporting From OData Services</title><link>http://prologika.com/CS/blogs/blog/archive/2010/04/25/reporting-from-odata-services.aspx</link><pubDate>Mon, 26 Apr 2010 02:57:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4404</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4404</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/04/25/reporting-from-odata-services.aspx#comments</comments><description>&lt;p&gt;&lt;a href="http://www.odata.org/"&gt;Open Data Protocol (OData),&lt;/a&gt; previously known as ADO.NET Data Services, is quickly gaining popularity as a web protocol for querying and updating data. A few Microsoft products already expose their functionality as OData services, including SharePoint 2010, SQL Azure, and Reporting Services (see my &lt;a href="http://prologika.com/CS/blogs/blog/archive/2009/08/13/reports-as-data-feeds.aspx"&gt;blog&lt;/a&gt; about reports as data feeds). Therefore, chances are that you may need to report off OData services. As it stands, Reporting Services doesn&amp;#39;t include a native support for OData but the &lt;a href="http://msdn.microsoft.com/en-us/library/aa964129%28SQL.90%29.aspx"&gt;XML Data Provider&lt;/a&gt;, which has been around since version 2005, may get the job done. &lt;/p&gt;
&lt;p&gt;The &lt;a href="http://prologika.com/CS/media/p/4402.aspx"&gt;OData report&lt;/a&gt; demonstrates how you can use the XML Data Provider to query OData services. It has two datasets. The Customers dataset retrieves data from the sample &lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;Northwind OData service&lt;/a&gt;. The CompanySales dataset queries the Adventure Works Company Sales report as a data feed. &lt;/p&gt;
&lt;h2&gt;Northwind OData Service &lt;/h2&gt;
&lt;p&gt;The Northwind datasets shows a list of Northwind customers. I implemented the report as follows. &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Set up the Northwind data source that uses the XML Data Provider and whose connection string points to the Northwind Customers service.&lt;br /&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;http://services.odata.org/Northwind/Northwind.svc/Customers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As you&amp;#39;ve probably guessed it, you need to set up a data source for each OData service you want to query. If you open the above link in IE with the feed view turned off (Internet Options, Content tab, Settings, uncheck Turn On Feed Reading View), you will see the output of the service.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;utf-8&amp;quot; standalone=&amp;quot;yes&amp;quot; ?&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;&lt;span style="color:red;font-family:Courier New;font-size:10pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;feed&lt;span style="color:red;"&gt; xml:base&lt;span style="color:blue;"&gt;=&amp;quot;&lt;span style="color:red;"&gt;&lt;strong&gt;http://services.odata.org/Northwind/Northwind.svc/&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:red;"&gt; &lt;br /&gt;xmlns:d&lt;span style="color:blue;"&gt;=&amp;quot;&lt;span style="color:red;"&gt;&lt;strong&gt;http://schemas.microsoft.com/ado/2007/08/dataservices&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:red;"&gt; &lt;br /&gt;xmlns:m&lt;span style="color:blue;"&gt;=&amp;quot;&lt;span style="color:red;"&gt;&lt;strong&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/metadata&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:red;"&gt; xmlns&lt;span style="color:blue;"&gt;=&amp;quot;&lt;span style="color:red;"&gt;&lt;strong&gt;http://www.w3.org/2005/Atom&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;title type&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;text&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt;&lt;strong&gt;Customers&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;title&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;id&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;http://services.odata.org/Northwind/Northwind.svc/Customers&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;id&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;updated&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;2010-04-25T15:07:07Z&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;updated&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;link&lt;/span&gt; &lt;span style="color:#990000;"&gt;rel&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;self&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; title&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customers&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; href&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customers&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;&lt;span style="color:red;font-family:Courier New;font-size:10pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;entry&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;id&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;http://services.odata.org/Northwind/Northwind.svc/Customers(&amp;#39;ALFKI&amp;#39;)&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;id&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;title&lt;/span&gt; &lt;span style="color:#990000;"&gt;type&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;text&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;updated&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;2010-04-25T15:07:07Z&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;updated&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;&lt;span style="color:red;font-family:Courier New;font-size:10pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;author&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;name&lt;/span&gt; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;author&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;link&lt;/span&gt; &lt;span style="color:#990000;"&gt;rel&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;edit&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; title&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customer&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; href&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customers(&amp;#39;ALFKI&amp;#39;)&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;link&lt;/span&gt; &lt;span style="color:#990000;"&gt;rel&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/Orders&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; type&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;application/atom+xml;type=feed&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; title&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Orders&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; href&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customers(&amp;#39;ALFKI&amp;#39;)/Orders&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;link&lt;/span&gt; &lt;span style="color:#990000;"&gt;rel&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/related/CustomerDemographics&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; type&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;application/atom+xml;type=feed&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; title&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;CustomerDemographics&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; href&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;Customers(&amp;#39;ALFKI&amp;#39;)/CustomerDemographics&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;category&lt;/span&gt; &lt;span style="color:#990000;"&gt;term&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;NorthwindModel.Customer&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&lt;span style="color:#990000;"&gt; scheme&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;http://schemas.microsoft.com/ado/2007/08/dataservices/scheme&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;&lt;span style="color:red;font-family:Courier New;font-size:10pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;content type&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;application/xml&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;a href="http://services.odata.org/Northwind/Northwind.svc/Customers"&gt;&lt;span style="color:red;font-family:Courier New;font-size:10pt;"&gt;&lt;strong&gt;-&lt;/strong&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;m:properties&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:CustomerID&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;ALFKI&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:CustomerID&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:CompanyName&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Alfreds Futterkiste&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:CompanyName&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:ContactName&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Maria Anders&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:ContactName&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:ContactTitle&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Sales Representative&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:ContactTitle&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:Address&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Obere Str. 57&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:Address&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:City&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Berlin&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:City&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:Region&lt;/span&gt; &lt;span style="color:#990000;"&gt;m:null&lt;span style="color:blue;"&gt;=&amp;quot;&lt;/span&gt;&lt;strong&gt;true&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;quot; /&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:PostalCode&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;12209&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:PostalCode&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:Country&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;Germany&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:Country&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:Phone&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;030-0074321&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:Phone&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;&lt;span style="color:#990000;"&gt;d:Fax&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;strong&gt;030-0076545&lt;/strong&gt;&lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;d:Fax&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:red;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt; &lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;m:properties&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="margin-left:12pt;"&gt;&lt;span style="font-size:10pt;"&gt;&lt;span style="color:red;font-family:Courier New;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;span style="font-family:Courier New;"&gt; &lt;span style="color:blue;"&gt;&amp;lt;/&lt;span style="color:#990000;"&gt;content&lt;span style="color:blue;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Verdana;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;div&gt;Set up a dataset query. &lt;/div&gt;
&lt;p&gt;&lt;br /&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;Query&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;ElementPath IgnoreNamespaces=&amp;quot;true&amp;quot;&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;feed{}/entry{}/content{}/properties &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;lt;/ElementPath&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;&amp;lt;/Query&amp;gt; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The IgnoreNamespaces attribute instructs the provider to ignore the XML namespaces. The ElementPath text specifies a path to the element whose nodes you want to display. In this case, the element is properties which is the element that contains the interesting OData stuff. The empty curly braces for the preceding nodes are used to ignore information from the preceding nodes in the path. &lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;h2&gt;CompanySales &lt;/h2&gt;
&lt;p&gt;Since starting with R2, reports are available as data feeds, you may also implement a quick and easy way to display data from one report in another. In this &lt;a href="http://prologika.com/CS/blogs/blog/archive/2010/03/30/feeding-reports-by-code.aspx"&gt;blog&lt;/a&gt;, I provided more details about the query syntax. In the case of the Company Sales, the data source connection string is as follows: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;"&gt;http://localhost/ReportServerR2?/Adventure Works Sample Reports/Company Sales 2008&amp;amp;ShowDescription=False&amp;amp;StartDate=01/01/2002 00:00:00&amp;amp;EndDate=12/31/2003 00:00:00&amp;amp;rs:ParameterLanguage=&amp;amp;rs:Command=Render&amp;amp;rs:Format=ATOM&amp;amp;rc:DataFeed=xAx0x2xCx0xMx0 &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;The dataset query is the same because all OData services return data in the same format. &lt;/p&gt;
&lt;p&gt;Moving forward, it will be nice if a future release includes a native OData provider that handles parameters and supports methods, as the XML Data Provider does for SOAP web methods, so you don&amp;#39;t have to set up a data source for each OData service. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4404" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/ODATA/default.aspx">ODATA</category></item><item><title>SQL Server 2008 R2 Released to Manufacturing</title><link>http://prologika.com/CS/blogs/blog/archive/2010/04/21/sql-server-2008-r2-released-to-manufacturing.aspx</link><pubDate>Wed, 21 Apr 2010 15:45:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4377</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4377</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/04/21/sql-server-2008-r2-released-to-manufacturing.aspx#comments</comments><description>&lt;p&gt;Robert Bruckner &lt;a href="http://blogs.msdn.com/robertbruckner/archive/2010/04/21/sql-server-2008-r2-rtm.aspx"&gt;announced&lt;/a&gt; that SQL Server 2008 R2 was released to manufacturing today. Robert summarized the most important most features. I &lt;a href="http://prologika.com/CS/blogs/tags/SQL+Server+2008+R2/default.aspx"&gt;covered&lt;/a&gt; them in my blog as well. I&amp;#39;ll update this blog once I find out when R2 will be available on MSDN.
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;UPDATE
&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;According to this Microsoft &lt;a href="http://blogs.technet.com/microsoft_blog/archive/2010/04/21/SQL-Server-2008-R2-Helping-Customers-Get-More-Value-Out-of-Their-Data.aspx"&gt;blog&lt;/a&gt;, R2 will be available for MSDN subscribers on May 3&lt;sup&gt;rd&lt;/sup&gt;. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4377" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Feeding Reports by Code</title><link>http://prologika.com/CS/blogs/blog/archive/2010/03/30/feeding-reports-by-code.aspx</link><pubDate>Tue, 30 Mar 2010 19:01:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4329</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4329</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/03/30/feeding-reports-by-code.aspx#comments</comments><description>&lt;p&gt;In a previous &lt;a href="http://prologika.com/CS/blogs/blog/archive/2009/08/13/reports-as-data-feeds.aspx"&gt;blog&lt;/a&gt;, I introduced one of the new SSRS 2008 R2 feature: reports as data feeds. As I said, the R2 release will include a new Atom Data Feed renderer to produce an Atom service document (*.atomsvc) which defines a feed(s) per data region. I also said that the main scenario for report feeds was to let the PowerPivot add-in for Excel (previously known as Gemini) consume report data. Recently, I&amp;#39;ve watched the interesting Pablo Castro&amp;#39;s &amp;quot;ADO.NET Data Services: What&amp;#39;s new with the RESTful data services framework&amp;quot; &lt;a href="http://microsoftpdc.com/Sessions/FT12"&gt;presentation&lt;/a&gt; which got me inspired to find a way to consume a report data feed programmatically outside PowerPivot. Since the Atom feed format is pre-defined, a custom application could benefit from this scenario to retrieve and manipulate the report data. In this case, an atom feed may be preferable than other format, such as CSV, because data is exposed as properties instead of columns. &lt;/p&gt;
&lt;p&gt;So, I embark on a journey to write a small Silverlight app, &lt;a href="http://prologika.com/CS/media/p/4328.aspx"&gt;RSFeedReader&lt;/a&gt;, that reads and displays a report feed. You will need Visual Studio 2010 to open the RSFeedReader source code. Before running the application, you may need to deploy the clientaccesspolicy.xml file included in the source to the IIS root, such as c:\inetpub\wwwroot or C:\inetpub\wwwroot\wss\VirtualDirectories\80 if you have SharePoint installed on port 80, to grant the application rights to connect to Reporting Services. If you don&amp;#39;t, Silverlight would treat the application URL, which runs under the local ASP.NET IIS server, and Report Server URL as two different domains and it will throw a security exception. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/033010_1902_FeedingRepo1.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;You can enter a report feed in the textbox and hit Fetch. The data feed results are shown in the grid. Similar to PowerPivot, each row represents a row in the report data region but the properties are stacked vertically instead of horizontally. The first column shows the entry identifier which identifies the row in the data region and the second column shows the values in that row. The &lt;a href="http://technet.microsoft.com/en-us/library/ee210663(SQL.105).aspx"&gt;Generating Data Feeds&lt;/a&gt; from Reports BOL topic covers the technical details of report feeds pretty well. Basically, the feed URL must include a unique identifier which you obtain from the Atom service document when you export the report to the Atom Data Feed format. The default feed URL points the matrix region in the Company Sales report although you can&amp;#39;t tell this from the feed URL. Again, you need to get the DataFeed identifier for the region from service document after exporting to Atom. If you request the report data feed in the browser, you will see the resulting XML. The most interesting information is included in the m:properties element. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/033010_1902_FeedingRepo2.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Unlike SharePoint, Reporting Services doesn&amp;#39;t provide a WCF endpoint, such as ListData.svc, so you can&amp;#39;t generate a Visual Studio proxy (unless you do it manually). Instead, RsFeedReader, uses WebClient to submit the URL request to Reporting Services to obtain the feed. &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;protected&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; LoadFeed(&lt;span style="color:blue;"&gt;string&lt;/span&gt; uri) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:#2b91af;"&gt;WebClient&lt;/span&gt; wc = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;WebClient&lt;/span&gt;(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;wc.OpenReadCompleted += &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;OpenReadCompletedEventHandler&lt;/span&gt;(wc_OpenReadCompleted); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:#2b91af;"&gt;Uri&lt;/span&gt; feedUri = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Uri&lt;/span&gt;(uri, &lt;span style="color:#2b91af;"&gt;UriKind&lt;/span&gt;.Absolute); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;wc.OpenReadAsync(feedUri); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;private&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; wc_OpenReadCompleted(&lt;span style="color:blue;"&gt;object&lt;/span&gt; sender, &lt;span style="color:#2b91af;"&gt;OpenReadCompletedEventArgs&lt;/span&gt; e) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;if&lt;/span&gt; (e.Error != &lt;span style="color:blue;"&gt;null&lt;/span&gt;) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;txtFeedLoc.Text = &lt;span style="color:#a31515;"&gt;&amp;quot;Error load report data feed. &amp;quot;&lt;/span&gt; + e.Error.Message; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;return&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;Stream&lt;/span&gt; s = e.Result) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:#2b91af;"&gt;SyndicationFeed&lt;/span&gt; feed; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;XmlReader&lt;/span&gt; reader = &lt;span style="color:#2b91af;"&gt;XmlReader&lt;/span&gt;.Create(s)) &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:green;"&gt;// read the feed &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;feed = &lt;span style="color:#2b91af;"&gt;SyndicationFeed&lt;/span&gt;.Load(reader); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;var&lt;/span&gt; posts = &lt;span style="color:blue;"&gt;from&lt;/span&gt; item &lt;span style="color:blue;"&gt;in&lt;/span&gt; feed.Items &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:blue;"&gt;select&lt;/span&gt; &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FeedEntry&lt;/span&gt;(item.Id, (&lt;span style="color:#2b91af;"&gt;XmlSyndicationContent&lt;/span&gt;)item.Content); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;&lt;span style="color:green;"&gt;// show feeds in grid &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;dGrid.ItemsSource = posts; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;dGrid.Visibility = &lt;span style="color:#2b91af;"&gt;Visibility&lt;/span&gt;.Visible; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Consolas;font-size:9pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Once the asynchronous call completes, RsFeedReader loops through the feed entry elements and populates a collection of FeedEntry objects which I bind to the grid. The FeedEntry class parses the content element of the entry (where the properties are located) and exposes them as a ContentProperties object (not shown) which I bind to the nested grid in the LoadingRow event of the outer grid. &lt;/p&gt;
&lt;p&gt;It probably won&amp;#39;t be long before various custom applications start popping up that lets end users subscribe to feeds, such as to let the end user get notified when report content changes.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4329" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Product Release Galore</title><link>http://prologika.com/CS/blogs/blog/archive/2010/03/17/product-release-galore.aspx</link><pubDate>Wed, 17 Mar 2010 16:17:08 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4309</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4309</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/03/17/product-release-galore.aspx#comments</comments><description>&lt;p&gt;&lt;span style="font-size:12pt;"&gt;Microsoft announced release dates for SQL Server R2, SharePoint 2010, Office 2010, and Visual Studio 2010. 
&lt;/span&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;According to the &lt;a href="http://blogs.technet.com/dataplatforminsider/archive/2010/01/19/sql-server-2008-r2-gets-an-official-date.aspx" target="_blank"&gt;&lt;span style="color:blue;text-decoration:underline;"&gt;Microsoft SQL Server Team Blog&lt;/span&gt;&lt;/a&gt;: SQL Server 2008 R2 (aka SQL 2010) will be listed on Microsoft&amp;#39;s May price list, and will be available by May 2010 
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;According the &lt;a href="http://blogs.msdn.com/sharepoint/archive/2010/03/05/sharepoint-2010-office-2010-launch.aspx" target="_blank"&gt;&lt;span style="color:blue;text-decoration:underline;"&gt;Microsoft SharePoint Team Blog&lt;/span&gt;&lt;/a&gt;: SharePoint 2010 and Office 2010 will be officially launched on May 12, 2010 with an RTM date of April 2010 
&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:12pt;"&gt;Visual Studio 2010&amp;#39;s &lt;a href="http://www.ithinkdiff.com/new-release-date-for-visual-studio-2010-is-april-12-2010/" target="_blank"&gt;&lt;span style="color:blue;text-decoration:underline;"&gt;release date was pushed&lt;/span&gt;&lt;/a&gt; to April 12, 2010 due to some performance issues according to Developer Division&amp;#39;s Marketing and Communications Manager Rob Caron&amp;#39;s &lt;a href="http://blogs.msdn.com/robcaron/archive/2010/01/13/9948172.aspx"&gt;&lt;span style="color:blue;text-decoration:underline;"&gt;blog&lt;/span&gt;&lt;/a&gt;.
&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;span style="font-size:12pt;"&gt;2010 is sure a busy year for BI!&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4309" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Business+Intelligence/default.aspx">Business Intelligence</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Microsoft+Office/default.aspx">Microsoft Office</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>BIDS Integration Story in R2 – The Good, the Bad, and the Ugly</title><link>http://prologika.com/CS/blogs/blog/archive/2010/03/16/bids-integration-story-in-r2-the-good-the-bad-and-the-ugly.aspx</link><pubDate>Wed, 17 Mar 2010 01:20:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4306</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4306</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/03/16/bids-integration-story-in-r2-the-good-the-bad-and-the-ugly.aspx#comments</comments><description>&lt;p&gt;There was a huge discussion thread about the BIDS-Visual Studio integration story in the SQL Server 2008 timeframe where customers complained that BIDS got married with Visual Studio. This required switching both BI and code projects at the same if you want to have a solution with both project types. What has changed in R2? &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The good&lt;/strong&gt; &amp;ndash; Report Server projects in BIDS R2 can target either SQL Server 2008 or R2, as explained in this &lt;a href="http://prologika.com/CS/blogs/blog/archive/2009/11/10/bids-2008-and-r2-project-support.aspx"&gt;blog&lt;/a&gt;. There is no change to Analysis Services projects. If you have a Report Server project with RDL 2008 files, the BIDS Report Designer won&amp;#39;t upgrade the report definitions. However, the moment you add a R2-specific feature, such as the new map region, BIDS will upgrade the report definition to R2 RDL. Therefore, if you want to play with R2 on your machine while the rest of the team is still on 2008 and you are careful, you can install R2 and upgrade BIDS without affecting the rest. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The bad&lt;/strong&gt; &amp;ndash; The R2 Report Server project format has changed to accommodate the new project deployment settings which are explained in the above-mentioned blog. The first time you open a Report Server project in BIDS R2, you will be asked to upgrade the project (not the RDLs). But what if you are forging new frontiers in your company (aka not following corporate standards) and decide to move to R2 while your peers are&amp;nbsp;still on SQL 2008 assuming you use source control and share project files? No worries. BIDS 2008 will automatically strip out the elements in the report project file it doesn&amp;#39;t recognize. But when they save the project the project file will revert to the 2008 format, so you&amp;#39;ll get prompted again to upgrade the next time you load the project in BIDS. To solve this problem, I use a local project file. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The ugly&lt;/strong&gt; &amp;ndash; R2 doesn&amp;#39;t integrate with Visual Studio 2010 as it targets VS 2008 only. And since BI project types are part of BIDS and not Visual Studio, VS 2010 users won&amp;#39;t get the BI project templates either. In other words, you must have BIDS R2 and Visual Studio 2010 SxS. Consequently, you won&amp;#39;t be able to have a solution that spans both Visual Studio 2010 code projects and BI projects. This is like having one TV to watch US channels and a second TV to watch Euro. &lt;/p&gt;
&lt;p&gt;It will be nice if one day the SQL Server setup program detects the Visual Studio version installed and ask you which version you want to integrate with. But given that Visual Studio project formats change between releases this may remain a wishful thinking.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4306" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Where is RDLOM in R2?</title><link>http://prologika.com/CS/blogs/blog/archive/2010/03/08/where-is-rdlom-in-r2.aspx</link><pubDate>Tue, 09 Mar 2010 02:17:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4283</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4283</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/03/08/where-is-rdlom-in-r2.aspx#comments</comments><description>&lt;p&gt;After covering the cool new stuff in R2, it&amp;#39;s time to talk about the uncool. One R2 change that really vexes me is RDLOM. RDLOM, short for Report Definition Language Object Model, lets developers program RDL in object-oriented way as opposed to using XML. RDLOM could save you a lot of effort when you have to meet more advanced requirements that involve pre-processing RDL. For example, in one of my projects we had to implement a wizard that would walk business users through steps to generate an ad-hoc report. Behind the scenes, the wizard would generate the report definition by using a custom RDLOM which we developed since back then Microsoft didn&amp;#39;t have their own. I included a scaled-down version of our implementation in my &lt;a href="http://prologika.com/CS/media/p/2333.aspx"&gt;TechEd 2007 code sample&lt;/a&gt;. Although it took us a while to get our RDLOM implemented, it turned out to be invaluable down the road. Since we didn&amp;#39;t have to use XML API to manipulate RDL, it simplified programming RDL. For another project, we used RDLOM to let the customer specify which sections they want to see on the report. Once the selection was made, we would remove the unwanted sections from a report template. The list of real-life scenarios that could take advantage of RDLOM goes on &amp;hellip; &lt;/p&gt;
&lt;p&gt;Apparently, I wasn&amp;#39;t the only one bugging Microsoft about RDLOM that ships with SSRS and they promised that this will happen at TechED 2007 USA. Sure enough, SSRS 2008 brought us an unsupported version which I &lt;a href="http://prologika.com/CS/blogs/blog/archive/2007/08/14/rdl-object-model-on-the-horizon.aspx"&gt;blogged&lt;/a&gt; about and covered more extensively in my Applied SSRS 2008 book. Although unsupported, the SSRS 2008 RDLOM was very useful. It was implemented in a single assembly (Microsoft.ReportingServices.RdlObjectModel.dll), exposed all RDL elements as objects, and supported serializing and deserializing RDL. &lt;/p&gt;
&lt;p&gt;Alas, this will come to pass with R2. Upgrading to R2, you&amp;#39;ll find that the classes in Microsoft.ReportingServices.RdlObjectModel are marked as internal so you cannot use this assembly. Instead, RDLOM got moved into the Microsoft.ReportingServices.Designer.Controls.dll assembly. The good news is that there are rumors that RDLOM may get documented. Now the bad news: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Clearly, R2 RDLOM was not meant to be distributed. While you need to reference explicitly only Microsoft.ReportingServices.Designer.Controls and Microsoft.ReportingServices.RichText assemblies you&amp;#39;ll find that they are dependent on other assemblies and you need to distribute a total of 25 assemblies resulting in a whopping 25 MB of referenced code. One way to avoid shipping so many assemblies to deploy your application in the BIDS or Report Builder 3.0 folders. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/030910_0215_WhereisRDLO1.png" alt="" /&gt; &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;R2 RDLOM will be 32-bit only because BIDS and Report Builder are 32-bit only. &lt;/li&gt;
&lt;li&gt;R2 RDLOM doesn&amp;#39;t support serializing the object model. I found a hack that uses .NET reflection to invoke the internal Serialize method of the old RDLOM 2008. &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;The RDLOM R2 C# console application bundled in this &lt;a href="http://prologika.com/CS/media/p/4281.aspx"&gt;code sample&lt;/a&gt; demonstrates how you can use the &amp;quot;new&amp;quot; RDLOM. Besides referencing the new assemblies, you need to use the Load method to deserialize RDL to the object model: &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;report = &lt;span style="color:#2b91af;"&gt;Report&lt;/span&gt;.Load(fs); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;And the above-mentioned hack to serialize it back to disk or stream. &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt; os = &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt;(ReportPath, &lt;span style="color:#2b91af;"&gt;FileMode&lt;/span&gt;.Create)) &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:#2b91af;"&gt;Assembly&lt;/span&gt; assembly = &lt;span style="color:#2b91af;"&gt;Assembly&lt;/span&gt;.GetAssembly(&lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Report&lt;/span&gt;)); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;object&lt;/span&gt; mc = assembly.CreateInstance(&lt;span style="color:#a31515;"&gt;&amp;quot;Microsoft.ReportingServices.RdlObjectModel.Serialization.RdlSerializer&amp;quot;&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt; t = mc.GetType(); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:#2b91af;"&gt;MethodInfo&lt;/span&gt; mi = t.GetMethod(&lt;span style="color:#a31515;"&gt;&amp;quot;Serialize&amp;quot;&lt;/span&gt;, &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Type&lt;/span&gt;[] { &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Stream&lt;/span&gt;), &lt;span style="color:blue;"&gt;typeof&lt;/span&gt;(&lt;span style="color:#2b91af;"&gt;Report&lt;/span&gt;) }); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;report = (&lt;span style="color:#2b91af;"&gt;Report&lt;/span&gt;)mi.Invoke(mc, &lt;span style="color:blue;"&gt;new&lt;/span&gt; &lt;span style="color:blue;"&gt;object&lt;/span&gt;[] { os, report }); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Other than that, RDLOM remains virtually unchanged from 2008 excluding that it now supports the R2 enhancements to RDL. What if you don&amp;#39;t need this overhead but you need to make small changes to RDL that don&amp;#39;t necessarily require an object-oriented layer. I&amp;#39;ve found that the easiest way to do this and avoid XML programming is to use LINQ to XML. The LINQ to XML project included in the same sample demonstrates this approach. For example, the following code changes the data source reference of the first data source. &lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;static&lt;/span&gt; &lt;span style="color:blue;"&gt;void&lt;/span&gt; Main(&lt;span style="color:blue;"&gt;string&lt;/span&gt;[] args) &lt;/span&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;{ &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt; report = &lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt;.Load(&lt;span style="color:#a31515;"&gt;&amp;quot;report.rdl&amp;quot;&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:blue;"&gt;string&lt;/span&gt; dns = &lt;span style="color:#a31515;"&gt;&amp;quot;{&amp;quot;&lt;/span&gt; + report.GetDefaultNamespace() + &lt;span style="color:#a31515;"&gt;&amp;quot;}&amp;quot;&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;&lt;span style="color:#2b91af;"&gt;XElement&lt;/span&gt; ds = report.Element(dns + &lt;span style="color:#a31515;"&gt;&amp;quot;DataSources&amp;quot;&lt;/span&gt;).Element(dns + &lt;span style="color:#a31515;"&gt;&amp;quot;DataSource&amp;quot;&lt;/span&gt;).Element(dns + &lt;span style="color:#a31515;"&gt;&amp;quot;DataSourceReference&amp;quot;&lt;/span&gt;); &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;ds.Value = &lt;span style="color:#a31515;"&gt;&amp;quot;/Data Sources/AdventureWorksAS2008&amp;quot;&lt;/span&gt;; &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;report.Save(&lt;span style="color:#a31515;"&gt;&amp;quot;report1.rdl&amp;quot;&lt;/span&gt;);&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:Courier New;font-size:10pt;"&gt;} &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Not happy about the RDLOM story? Join the movement and vote for &lt;a href="https://connect.microsoft.com/SQLServer/feedback/details/540183/supported-rdl-object-model-rdlom"&gt;my suggestion&lt;/a&gt; on connect.microsoft.com to have a supported RDLOM. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4283" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>New Reporting Services Data Providers</title><link>http://prologika.com/CS/blogs/blog/archive/2010/02/28/new-reporting-services-data-providers.aspx</link><pubDate>Sun, 28 Feb 2010 15:39:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4244</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4244</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/02/28/new-reporting-services-data-providers.aspx#comments</comments><description>&lt;p&gt;Two new data providers will be included in the SQL Server 2008 R2 release of Reporting Services, &lt;strong&gt;Microsoft SQL Azure&lt;/strong&gt; and &lt;strong&gt;Microsoft SQL Server Parallel Data Warehouse&lt;/strong&gt;, that will let you report from &lt;a href="http://www.microsoft.com/windowsazure/sqlazure/"&gt;SQL Azure&lt;/a&gt; and &lt;a href="http://www.microsoft.com/sqlserver/2008/en/us/parallel-data-warehouse.aspx"&gt;SQL Server 2008 R2 Parallel Data Warehouse&lt;/a&gt; (code named Madison) databases respectively. I decided to take the Microsoft SQL Azure data provider for a spin. As you probably know by now, SQL Azure is a part of the Microsoft Windows Azure SaaS cloud offering. SQL Azure lets you host your SQL Server relational databases in the Microsoft data centers that provide scalability and fault tolerance services. This is great for companies of all sizes which don&amp;#39;t have resources or expertise to purchase and configure expensive hardware and software in order bo build scalable and highly available solutions. IMO, SQL Azure will be increasingly important, especially after Reporting Services and Analysis Services become available on SQL Azure although Microsoft doesn&amp;#39;t say yet when this will happen. At this point, you can only use Reporting Services as a client to author reports from SQL Azure-hosted databases. &lt;/p&gt;
&lt;p&gt;Strictly, speaking if your database is hosted in SQL Azure, you can use the SQL Server or OLE DB providers (already included in Reporting Services) to send queries to SQL Azure. Just like on-premise solutions,&amp;nbsp;SQL Server Azure clients retrieve data using the native SQL Server Tabular Data Stream (TDS).&amp;nbsp;However, if you decide to use the native&amp;nbsp;SQL Server providers, you will run into&amp;nbsp;some issues with retrieving SQL Azure metadata. Hence, Microsoft added the SQL Azure data provider. To test it out, I followed these steps: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;I signed up for SQL Azure. If you MSDN Universal subscriber, you can &lt;a href="http://msdn.microsoft.com/en-us/subscriptions/ee461076.aspx"&gt;sign up&lt;/a&gt; to test SQL Azure for eight months for free. &lt;/li&gt;
&lt;li&gt;I deployed the AdventureWorksDW2008R2 and AdventureWorksLT2008R2 databases to my SQL Azure server. The Adventure Works database deployment scripts for SQL Azure &lt;a href="http://msftdbprodsamples.codeplex.com/releases/view/37304"&gt;are available&lt;/a&gt; on codeplex. They will create &lt;em&gt;AdventureWorksDWAZ2008R2 &lt;/em&gt;and&lt;em&gt; AdventureWorksLTAZ2008R2 &lt;/em&gt;database on your SQL Azure server. &lt;/li&gt;
&lt;li&gt;Installed SQL Server 2008 R2 Release Candidate which is &lt;strong&gt;not&lt;/strong&gt; publicly available. &lt;/li&gt;
&lt;li&gt;Created a new report in BIDS. As usual, I added a data source and selected the Microsoft SQL Azure provider.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.prologika.com/blog/022810_1539_NewReportin1.png" alt="" /&gt; &lt;/li&gt;
&lt;li&gt;In the Connection Properties dialog box, I entered the name of my SQL Azure server and my standard security credentials (Windows security is not supported on SQL Azure). For some reason, the database dropdown is not automatically populated so I had to enter the name of the database &lt;em&gt;AdventureWorksDWAZ2008R2&lt;/em&gt; manually. &lt;/li&gt;
&lt;li&gt;
&lt;div&gt;Once connectivity has been taken care of, life is as usual. The Graphical Query Designer (toggle the Edit as Text button if the generic query designer starts first) shows the database schema.&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.prologika.com/blog/022810_1539_NewReportin2.png" alt="" /&gt; &lt;/div&gt;
&lt;p&gt;One thing that surprised me was the performance of data retrieval. Even when I opted to get all data from FactInternetSales, which has thousands of rows, the query executed pretty fast.&amp;nbsp; One caveat though with this approach is that you have open port 1433 on your corporate network because this is the port SQL Server uses for client connections. This is not required if your application is installed on Windows Azure and connects to the SQL Azure database on the server.&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4244" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Report Builder 3.0 Edit Sessions</title><link>http://prologika.com/CS/blogs/blog/archive/2010/01/18/report-builder-3-0-edit-sessions.aspx</link><pubDate>Mon, 18 Jan 2010 14:25:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4169</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4169</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/01/18/report-builder-3-0-edit-sessions.aspx#comments</comments><description>&lt;p&gt;When Report Builder 2.0 shipped , it introduced local and server preview modes. If the report uses local references only, such an embedded data source(s), Report Builder 2.0 executes the query and renders the report locally just like the BIDS Report Designer. However, when the report uses a server reference, such as shared data source(s) or subreports that were saved on the server, Report Builder 2.0 would transparently upload and process the report on the server just like the Report Builder 1.0. &lt;/p&gt;
&lt;p&gt;Report Builder 3.0 improves the performance of server preview mode by introducing &lt;strong&gt;edit sessions&lt;/strong&gt;. An edit session is implicitly created when the user runs the report for the first time. Behind the scenes, Report Builder 3.0 calls the new CreateReportEditSession API to instruct the server to create an edit session. The server caches the report dataset(s) in the ReportServerTempDB database (not in memory) and uses the cached data for subsequent previews. In this respect, you can think of edit sessions as the *.data files that the BIDS Report Designer generates to cache the report data in order to speed up&amp;nbsp;report preview. As long as you don&amp;#39;t make changes to the report that affect the data, such as changes to the dataset itself, data source, or parameters, the cached copy of the data is used by the report. This means that the user may not see changes that might have taken place in the database for the duration of the edit session. To make sure that the latest data is used, click the Refresh button on the Report Builder 3.0 toolbar. Refreshing the report discards the edit session and executes the database queries. &lt;/p&gt;
&lt;p&gt;The administrator can configure two new server properties to manage edit sessions: &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;EditSessonCacheLimit - By default, the data cache can hold up to five datasets per report and user. Note that if the dataset is parameterized, each parameter combination counts as one dataset. If you use many different combinations of parameter values, the report might need more cached dataset copies. The administrator can allow this by increasing the EditSessonCacheLimit setting. &lt;/li&gt;
&lt;li&gt;EditSessionTimeout - By default, an edit session lasts 7200 seconds (2 hours). The servers resets the session every two hours when the user previews the report. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/011810_1424_ReportBuild1.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Report Builder 3.0 edit sessions are a performance-related enhancement that makes server-side report preview more efficient.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4169" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>Report Builder 3.0 Enhancements in R2 and SharePoint 2010 Mode</title><link>http://prologika.com/CS/blogs/blog/archive/2010/01/12/report-builder-enhancements-in-sharepoint-mode.aspx</link><pubDate>Wed, 13 Jan 2010 03:06:00 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4146</guid><dc:creator>tlachev</dc:creator><slash:comments>3</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4146</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/01/12/report-builder-enhancements-in-sharepoint-mode.aspx#comments</comments><description>&lt;p&gt;A couple of Report Builder enhancements in SharePoint 2010&amp;nbsp;integration mode caught my attention. First, Report Builder 3.0 now launches by default when the Open in Report Builder action is initiated inside SharePoint 2010. Previously, Report Builder 1.0 would be launched. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.prologika.com/blog/011310_0305_ReportBuild1.png" alt="" /&gt; &lt;/p&gt;
&lt;p&gt;Second, if the report includes a drillthrough action to another report, the action now works when the action is initiated from Report Builder 3.0 preview mode. As it turns out, a drillthrough action is forwarded directly to SharePoint. Previously, a report drillthrough action will result in an error because the Report Builder would attempt to resolve the action locally. &lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4146" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>ReportService2010 Endpoint</title><link>http://prologika.com/CS/blogs/blog/archive/2010/01/12/reportservice2010-endpoint.aspx</link><pubDate>Wed, 13 Jan 2010 02:29:57 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4145</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4145</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2010/01/12/reportservice2010-endpoint.aspx#comments</comments><description>&lt;p&gt;Here is a little gem for developers programming Reporting Services. SQL Server 2008 R2 brings a new web service endpoint, &lt;strong&gt;ReportService2010&lt;/strong&gt;, which merges the functionalities of the ReportService2005 and ReportService2006 endpoints. The new endpoint can manage objects on a report server that that are configured for either native or SharePoint integrated mode. Previously, the ReportService2005 endpoint was used for managing objects on a report server that is configured for native mode and the ReportService2006 endpoint was used for managing objects on a report server that is configured for SharePoint integrated mode. This required code changes and retesting if the report server was re-configured in a different mode.  These endpoints are now deprecated but still supported. The ReportService2010 endpoint includes the functionalities of both endpoints. When unsupported APIs in ReportService2010 are invoked, such as invoking the CreateLinkedReport API in SharePoint mode which doesn&amp;#39;t support linked reports, the endpoint will return an error that the operation is not supported.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4145" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item><item><title>SharePoint List Data Extension </title><link>http://prologika.com/CS/blogs/blog/archive/2009/11/24/sharepoint-list-data-extension.aspx</link><pubDate>Tue, 24 Nov 2009 14:18:51 GMT</pubDate><guid isPermaLink="false">bb61d221-b363-4d22-8192-4aa25b39c5db:4001</guid><dc:creator>tlachev</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://prologika.com/CS/blogs/blog/rsscomments.aspx?PostID=4001</wfw:commentRss><comments>http://prologika.com/CS/blogs/blog/archive/2009/11/24/sharepoint-list-data-extension.aspx#comments</comments><description>&lt;p&gt;R2 brings several SharePoint enhancements, including:
&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Support for multiple SharePoint zones – Previously, SSRS supported access from SharePoint URLs in the default zone, as I &lt;a href="http://prologika.com/CS/blogs/blog/archive/2008/05/09/sharing-lost-reports-with-web-users.aspx"&gt;explained&lt;/a&gt; before.
&lt;/li&gt;&lt;li&gt;Support for the SharePoint Universal Logging service - Reporting Services introduced a new server interface called IRSSetUserToken. When this interface is implemented, the report server calls the UserToken Set property on this interface and passes the SharePoint user token to the data extension.
&lt;/li&gt;&lt;li&gt;Scripting with the rs utility - The rs utility now supports servers configured in SharePoint integrated mode. This lets you create scripts that automate management tasks that target report servers in SharePoint mode.
&lt;/li&gt;&lt;li&gt;New SharePoint List Data Extension – Lets you report from SharePoint lists
&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;The last on the list, the new SharePoint List data extension, probably picked up your interest and deserves more explanation. Previously, if you had to use the XML Data Provider to call the SharePoint web service if you wanted to report off SharePoint lists. The new extension simplifies this by supporting SharePoint lists natively. But before you get too excited about it, I have to dampen your enthusiasm by mentioning two limitations:
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;The extension supports querying a single list only.
&lt;/li&gt;&lt;li&gt;It doesn&amp;#39;t support folders if the list organizes items in folders.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The SharePoint List data extension is supported with both modes – native and SharePoint integrated. It supports Windows SharePoint Services 3.0 and 2010, as well as MOSS. Next, I&amp;#39;ll demonstrate the SharePoint List extension by setting up a dataset that retrieves items from the Issues list of a SharePoint site. The SharePoint list extension is available both in the BIDS Report Designer and Report Builder 3.0. For the purposes of this demo, I&amp;#39;ll use the BIDS Report Designer.
&lt;/p&gt;&lt;h2&gt;Configuring the data source
&lt;/h2&gt;&lt;p&gt;Start by setting up the data source as you would normally do when you author a report.
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Set up a data source that uses the Microsoft SharePoint List provider.
&lt;/li&gt;&lt;li&gt;In the Connection String field, enter the URL of the SharePoint site that has the list you want to query.
&lt;/li&gt;&lt;li&gt;Switch to the Credentials tab and select the Use Windows Authentication option. Click OK to close the Data Source Properties dialog.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;&lt;img src="http://www.prologika.com/blog/112409_1416_SharePointL1.png" alt="" /&gt;
	&lt;/p&gt;&lt;h2&gt;Configuring the dataset
&lt;/h2&gt;&lt;p&gt;Once the data source is in place, the next steps will be to set up a dataset. The SharePoint List data extension supports a graphical query designer that lets you select and filter a list. 
&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Add a new dataset that uses the data source you&amp;#39;ve just created. On the Dataset Properties, click the Query Designer button.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Report Designer loads the graphical query designer. The SharePoint Lists pane shows all lists in the library. You can check a list to get all fields of the list or select individual fields. You can hover on a field to see additional properties as tooltips, such as Name, Identifier, Field Type and Hidden properties. 
&lt;/p&gt;&lt;p&gt;You can also filter the list. In this case, the Issues list is associated with a My Issues view. Since I don&amp;#39;t have any issues assigned to me, I had to overwrite the list filter by supplying a non-empty query filter. For demo purposes, I decided to set up a filter where the Title column contains the word &amp;quot;parameter&amp;quot; and the Modified date is after 10/1/2009.
&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.prologika.com/blog/112409_1416_SharePointL2.png" alt="" /&gt;
	&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Click the Run Query button to execute the query and see the data and the OK button to close the Query Designer and generate the dataset.
&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;In case you are curious what the actual query looks like, click the Edit As Text query button.  If you want to get all fields, the query can omit the ViewFields element. 
&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;&amp;lt;RSSharePointList xmlns:xsi=&amp;quot;http://www.w3.org/2001/XMLSchema-instance&amp;quot; xmlns:xsd=&amp;quot;http://www.w3.org/2001/XMLSchema&amp;quot;&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;  &amp;lt;ListName&amp;gt;Issues&amp;lt;/ListName&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;  &amp;lt;ViewFields&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;    &amp;lt;FieldRef Name=&amp;quot;ID&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;    &amp;lt;FieldRef Name=&amp;quot;ContentType&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;    . . .
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;  &amp;lt;/ViewFields&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;  &amp;lt;Query&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;    &amp;lt;Where&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;      &amp;lt;And&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;        &amp;lt;Contains&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;          &amp;lt;FieldRef Name=&amp;quot;Title&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;          &amp;lt;Value Type=&amp;quot;Text&amp;quot;&amp;gt;parameter&amp;lt;/Value&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;        &amp;lt;/Contains&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;        &amp;lt;Gt&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;          &amp;lt;FieldRef Name=&amp;quot;Modified&amp;quot; /&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;          &amp;lt;Value Type=&amp;quot;DateTime&amp;quot;&amp;gt;2009-10-01T00:00:00&amp;lt;/Value&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;        &amp;lt;/Gt&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;      &amp;lt;/And&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;    &amp;lt;/Where&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;  &amp;lt;/Query&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span style="font-family:Courier New;font-size:9pt;"&gt;&amp;lt;/RSSharePointList&amp;gt;
&lt;/span&gt;&lt;/p&gt;&lt;p&gt;
 &lt;/p&gt;&lt;p&gt;The SharePoint List data extension is a new R2 feature that simplifies the process of authoring reports from SharePoint lists. Although it doesn&amp;#39;t support all features of third-party data extensions for SharePoint, it&amp;#39;s a welcome enhancement that lets you retrieve and filter items from a single SharePoint list.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://prologika.com/CS/aggbug.aspx?PostID=4001" width="1" height="1"&gt;</description><category domain="http://prologika.com/CS/blogs/blog/archive/tags/Reporting+Services/default.aspx">Reporting Services</category><category domain="http://prologika.com/CS/blogs/blog/archive/tags/SQL+Server+2008+R2/default.aspx">SQL Server 2008 R2</category></item></channel></rss>