<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5365646435933681059</id><updated>2011-11-03T09:40:45.559-07:00</updated><category term='PowerShell'/><category term='MOSS 2007'/><category term='SQL 2008'/><category term='SQL Server Reporting Services'/><category term='Javascript'/><category term='Web Services'/><category term='SQL Server'/><category term='SSRS'/><category term='SharePoint'/><category term='Microsoft Dynamics'/><category term='VB.NET'/><category term='SharePoint 2010'/><category term='ASP.NET'/><category term='.NET'/><title type='text'>Notes From Class: SQL Server, SharePoint, .NET, etc.</title><subtitle type='html'>My name is Dan. I'm a Microsoft Certified Trainer. People often ask very good questions in the classes I teach, so I've decided to record the really good questions and answers here for future reference.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>14</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-9049025610690836192</id><published>2011-11-03T09:40:00.000-07:00</published><updated>2011-11-03T09:40:45.598-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server Reporting Services'/><category scheme='http://www.blogger.com/atom/ns#' term='SSRS'/><title type='text'>Q: I have a SQL Server Reporting Services report that uses a stored proc with three output parameters. How do I use the values of the parameters in the report?</title><content type='html'>&lt;div class="MsoPlainText"&gt;The&amp;nbsp;problem that you're having is that SSRS doesn't actually support SP&amp;nbsp;output parameters. You have&amp;nbsp;to wrap your stored procedure with another&amp;nbsp;stored procedure that puts the output parameter value into a rowset.&amp;nbsp;Here's a simple example. If you want, you can just copy &amp;amp; paste into a&amp;nbsp;query in SQL Server Management Studio and it will work:&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt; &lt;span style="color: green;"&gt;&lt;i&gt;/***&amp;nbsp;Begin&amp;nbsp;Example&amp;nbsp;***/&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;Setup&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;TABLE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;customers&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: maroon;"&gt;customerid&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;INT&lt;/i&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;IDENTITY&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: maroon;"&gt;firstname&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: maroon;"&gt;lastname&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: maroon;"&gt;custstatus&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;INSERT&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;customers&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;VALUES&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: red;"&gt;'John'&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;'Smith'&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: red;"&gt;'Active'&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;First&amp;nbsp;Stored&amp;nbsp;Procedure,&amp;nbsp;which&amp;nbsp;uses&amp;nbsp;output&amp;nbsp;parameters.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;This&amp;nbsp;cannot&amp;nbsp;be&amp;nbsp;used&amp;nbsp;directly&amp;nbsp;in&amp;nbsp;SSRS&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: #ff0080;"&gt;&lt;b&gt;Usp_proc1&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@CustID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;INT&lt;/i&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;0&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p1&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p2&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p3&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p1&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;firstname&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p2&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;lastname&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p3&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;custstatus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;FROM&lt;/span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;"&gt;customers&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;WHERE&lt;/span&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: maroon;"&gt;customerid&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@CustID&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;Second&amp;nbsp;Stored&amp;nbsp;Procedure,&amp;nbsp;which&amp;nbsp;wraps&amp;nbsp;the&amp;nbsp;first&amp;nbsp;one,&amp;nbsp;converting&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;the&amp;nbsp;output&amp;nbsp;parameters&amp;nbsp;into&amp;nbsp;fields&amp;nbsp;in&amp;nbsp;a&amp;nbsp;single-row&amp;nbsp;rowset.&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;CREATE&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: #ff0080;"&gt;&lt;b&gt;Usp_proc2&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@CustomerID&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;INT&lt;/i&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: silver;"&gt;=&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;0&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;BEGIN&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;DECLARE&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p1_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p2_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p3_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;&lt;i&gt;VARCHAR&lt;/i&gt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;(&lt;/span&gt;&lt;span style="color: black;"&gt;50&lt;/span&gt;&lt;span style="color: maroon;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: #ff0080;"&gt;&lt;b&gt;Usp_proc1&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@CustomerID&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p1_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p2_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p3_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;OUTPUT&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;SELECT&lt;/span&gt;&amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p1_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;cfname&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p2_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;clname&lt;/span&gt;&lt;span style="color: silver;"&gt;,&lt;/span&gt;&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span style="color: #8000ff;"&gt;@p3_output&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;AS&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;cstatus&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&lt;span style="color: blue;"&gt;END&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;Example&amp;nbsp;invocation&amp;nbsp;of&amp;nbsp;the&amp;nbsp;wrapper&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;EXECUTE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: #ff0080;"&gt;&lt;b&gt;Usp_proc2&lt;/b&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color: black;"&gt;1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;GO&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;Returns&amp;nbsp;a&amp;nbsp;rowset&amp;nbsp;like&amp;nbsp;this:&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;cFNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cLNAME&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;cSTATUS&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;-------------------------&amp;nbsp;-----------------&amp;nbsp;----------------------&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;John&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Smith&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Active&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;--&amp;nbsp;Cleanup&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Courier New'; font-size: x-small;"&gt;&lt;span style="color: blue;"&gt;DROP&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: maroon;"&gt;usp_proc2&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;DROP&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;PROCEDURE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: maroon;"&gt;usp_proc1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;DROP&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;TABLE&lt;/span&gt;&amp;nbsp;&lt;span style="color: maroon;"&gt;dbo&lt;/span&gt;&lt;span style="color: silver;"&gt;.&lt;/span&gt;&lt;span style="color: maroon;"&gt;customers&lt;/span&gt;&lt;br /&gt;&lt;span style="color: green;"&gt;&lt;i&gt;/***&amp;nbsp;End&amp;nbsp;Example&amp;nbsp;***/&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoPlainText"&gt;Once you've made your wrapper, you can execute it in SSRS as a&amp;nbsp;separate dataset, and use the fields directly. Depending on where you&amp;nbsp;use it, it may be necessary to use it with, e.g. the "First" function,&amp;nbsp;which is an aggregate function that simply means to use the first (in&amp;nbsp;this case only) row returned from the stored procedure call.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-9049025610690836192?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/9049025610690836192/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=9049025610690836192' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/9049025610690836192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/9049025610690836192'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/11/q-i-have-sql-server-reporting-services.html' title='Q: I have a SQL Server Reporting Services report that uses a stored proc with three output parameters. How do I use the values of the parameters in the report?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-879185649942890497</id><published>2011-05-27T12:51:00.000-07:00</published><updated>2011-05-27T12:51:00.688-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Web Services'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Q: How can I examine the contents of a SOAP envelope generated by my own proxy class?</title><content type='html'>&lt;div&gt;A: Take a look at what this clever guy figured out how to do:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://www.blog.encoresystems.net/articles/how-to-capture-soap-envelopes-when-consuming-a-web-service.aspx"&gt;How to capture SOAP envelopes when consuming a web service in ASP.NET.&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;He used the &lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextension(VS.80).aspx"&gt;SoapExtension &lt;/a&gt;class (&lt;a href="http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextension(VS.80).aspx"&gt;http://msdn2.microsoft.com/en-us/library/system.web.services.protocols.soapextension(VS.80).aspx&lt;/a&gt;)&lt;/div&gt;&lt;div&gt;to add logging to the proxy class, and viola! Cool, eh?&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-879185649942890497?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/879185649942890497/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=879185649942890497' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/879185649942890497'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/879185649942890497'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/05/q-how-can-i-examine-contents-of-soap.html' title='Q: How can I examine the contents of a SOAP envelope generated by my own proxy class?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-6458611284189168085</id><published>2011-04-08T10:35:00.000-07:00</published><updated>2011-04-08T10:35:11.356-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Q: In SQL Server 2008, can you apply a service pack to the passive node in a cluster?</title><content type='html'>&lt;div&gt;As it turns out, yes:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://blogs.technet.com/b/mdegre/archive/2010/01/16/apply-a-sql-server-2008-service-pack-or-hotfix-to-a-failover-cluster-instance.aspx"&gt;Apply a service pack or hotfix SQL Server 2008 to a failover cluster instance - Microsoft SQL Server - Site Home - TechNet Blogs&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In SQL Server 2005, service packs had to be installed on the active node in a cluster. SQL 2008 removes that constraint, thus reducing total downtime.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-6458611284189168085?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/6458611284189168085/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=6458611284189168085' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6458611284189168085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6458611284189168085'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/04/q-in-sql-server-2008-can-you-apply.html' title='Q: In SQL Server 2008, can you apply a service pack to the passive node in a cluster?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-2845477617603603542</id><published>2011-02-10T11:58:00.000-08:00</published><updated>2011-02-10T11:58:49.527-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft Dynamics'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Q: How does Microsoft Dynamics NAV integrate with SharePoint 2010?</title><content type='html'>A: I'll be the first to say that I know virtually nothing about MS Dynamics, but the question was asked, and as it happens the MS Dynamics NAV team have a blog post entitled "&lt;a href="http://blogs.msdn.com/b/nav/archive/2010/08/20/microsoft-dynamics-nav-compatibility-with-microsoft-office-2010-and-microsoft-sharepoint-2010.aspx"&gt;Microsoft Dynamics NAV Compatibility with Microsoft Office 2010 and Microsoft SharePoint 2010 - Microsoft Dynamics NAV Team Blog - Site Home - MSDN Blogs&lt;/a&gt;", which outlines some of the compatibility features, e.g. similar user experiences, ability to query Dynamics ERP &amp;amp; CRM databases via SharePoint BCS, which in turn allows synchronization of MS Dynamics information to Outlook &amp;amp; SharePoint Workspace, etc., etc.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-2845477617603603542?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/2845477617603603542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=2845477617603603542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/2845477617603603542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/2845477617603603542'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/02/q-how-does-microsoft-dynamics-nav.html' title='Q: How does Microsoft Dynamics NAV integrate with SharePoint 2010?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-8807229917335687173</id><published>2011-02-10T08:43:00.000-08:00</published><updated>2011-02-10T08:43:58.395-08:00</updated><title type='text'>Q: How do I control who is allowed to create My Sites?</title><content type='html'>&lt;div&gt;A: By using "Manage User Permissions" in the User Profile Service Application administration tool. The default is that all users get the "Create Personal Site" permission. To change this, remove "Authenticated Users" and "All Authenticated Users" from this permission and add the AD global groups to which you want to grant the permission. This blog post from SharePoint expert Dave Coleman gives the details: &lt;a href="http://www.sharepointedutech.com/2010/09/20/locking-down-my-site-sharepoint-2010-2/"&gt;Locking Down My Site SharePoint 2010 - SharePointEduTech&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-8807229917335687173?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.sharepointedutech.com/2010/09/20/locking-down-my-site-sharepoint-2010-2/' title='Q: How do I control who is allowed to create My Sites?'/><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/8807229917335687173/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=8807229917335687173' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/8807229917335687173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/8807229917335687173'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/02/q-how-do-i-control-who-is-allowed-to.html' title='Q: How do I control who is allowed to create My Sites?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-4921676156350989174</id><published>2011-02-10T08:32:00.000-08:00</published><updated>2011-02-10T09:35:07.151-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Q: How many application pools does SharePoint set up by default?</title><content type='html'>&lt;div&gt;A: If you run the SharePoint Farm Configuration Wizard, the answer is 6. Most of the service applications share one application pool (though of course you can safely change that after the fact). SharePoint MVP Spencer Harbar has listed them all in detail here:&amp;nbsp;&lt;a href="http://www.harbar.net/archive/2009/12/04/more-on-sharepoint-2010-application-pools.aspx"&gt;More on SharePoint 2010 Application Pools&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-4921676156350989174?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/4921676156350989174/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=4921676156350989174' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/4921676156350989174'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/4921676156350989174'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/02/q-how-many-application-pools-does.html' title='Q: How many application pools does SharePoint set up by default?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-7660844865495628284</id><published>2011-02-08T08:36:00.000-08:00</published><updated>2011-02-08T10:21:50.721-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PowerShell'/><title type='text'>Q: Is there a PowerShell equivalent to the C# "using" statement (for auto-disposing disposable objects)?</title><content type='html'>&lt;div&gt;A: No. However, the PowerShell team very kindly came up with a simple implementation, detailed here:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://blogs.msdn.com/b/powershell/archive/2009/03/12/reserving-keywords.aspx"&gt;Reserving keywords - Windows PowerShell Blog - Site Home - MSDN Blogs&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It looks like this:&lt;/div&gt;&lt;div&gt;&lt;code&gt;&lt;br /&gt;function using             &lt;br /&gt;{             &lt;br /&gt;param($obj, [scriptblock]$sb)             &lt;br /&gt;&lt;br /&gt;try {             &lt;br /&gt;&amp;amp; $sb             &lt;br /&gt;} finally {             &lt;br /&gt;if ($obj -is [IDisposable]) {             &lt;br /&gt;$obj.Dispose()             &lt;br /&gt;}             &lt;br /&gt;}             &lt;br /&gt;}       &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;Here's the example:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;using ($stream = new-object System.IO.StreamReader $PSHOME\types.ps1xml) {             &lt;br /&gt;foreach ($_ in 1..5) { $stream.ReadLine() }             &lt;br /&gt;}&lt;br /&gt;&lt;/code&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-7660844865495628284?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/7660844865495628284/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=7660844865495628284' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/7660844865495628284'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/7660844865495628284'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2011/02/q-is-there-powershell-equivalent-to-c.html' title='Q: Is there a PowerShell equivalent to the C# &quot;using&quot; statement (for auto-disposing disposable objects)?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-1118148969525554509</id><published>2010-11-19T07:23:00.000-08:00</published><updated>2010-11-19T08:36:47.172-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><title type='text'>Q. How do I upgrade from SharePoint 2003 to SharePoint 2010?</title><content type='html'>&lt;div&gt;A. As it turns out, by way of MOSS 2007. Which seems kind of silly, but actually works out great, since you can use an evaluation version of MOSS to do it:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;a href="http://blogs.msdn.com/b/sharepoint/archive/2010/01/04/planning-for-upgrade-from-sharepoint-portal-server-2003-to-sharepoint-server-2010.aspx"&gt;Planning for Upgrade from SharePoint Portal Server 2003 to SharePoint Server 2010 - Microsoft SharePoint Team Blog - Site Home - MSDN Blogs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-1118148969525554509?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/1118148969525554509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=1118148969525554509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/1118148969525554509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/1118148969525554509'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2010/11/q-how-do-i-upgrade-from-sharepoint-2003.html' title='Q. How do I upgrade from SharePoint 2003 to SharePoint 2010?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-8189376062325079335</id><published>2010-09-01T12:16:00.000-07:00</published><updated>2010-09-01T12:18:05.275-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SharePoint'/><category scheme='http://www.blogger.com/atom/ns#' term='MOSS 2007'/><title type='text'>Q: How do I determine the storage size of the various sites in my SharePoint 2007 site collection?</title><content type='html'>Believe it or not, there’s no easy way to determine how much space is being used, with any degree of detail, from within SharePoint. So, most folks use some kind of third party tool, like this one:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thesug.org/blogs/lsuslinky/SSM/Pages/default.aspx"&gt;http://www.thesug.org/blogs/lsuslinky/SSM/Pages/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;…or this one:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://spusedspaceinfo.codeplex.com/"&gt;http://spusedspaceinfo.codeplex.com/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There are other options as well.&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;SharePoint Designer: Its reports show the size of objects within a site. However, you'll have to break out your calculator to tally it all up.&lt;/li&gt;&lt;li&gt;STSADM: The "enumsites" operation produces xml output that includes storage size for each site, including MySites.&lt;/li&gt;&lt;li&gt;Custom development: I like the solution this guy came up with:&amp;nbsp;&lt;a href="http://blog.sharepointdevelopment.nl/category/Web-Parts.aspx"&gt;http://blog.sharepointdevelopment.nl/category/Web-Parts.aspx&lt;/a&gt;&lt;br /&gt;He developed a custom web part that lists all of the sites in the current site collection and the storage they use.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div&gt;Actually, I like that last one so much that I made a finished solution for it, which you are welcome to take and use. (Disclaimer: I bear no responsibility for any negative consequences that arise from use of this software in your environment.)&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The solution file is here: &lt;a href="http://sites.google.com/site/mctclassnotes/utility/SiteStorageWebPart.wsp"&gt;http://sites.google.com/site/mctclassnotes/utility/SiteStorageWebPart.wsp&lt;/a&gt;&amp;nbsp;(Install: "stsadm -o addsolution -filename SiteStorageWebPart.wsp", deploy: "stsadm -o deploysolution -name SiteStorageWebPart.wsp -url [YourSiteCollection] -immediate -allowGacDeployment" )&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The source code, originally developed by &lt;a href="http://blog.sharepointdevelopment.nl/page/about.aspx"&gt;Nick Boumans&lt;/a&gt;, is here: &lt;a href="http://sites.google.com/site/mctclassnotes/utility/SP_Utilities.zip"&gt;http://sites.google.com/site/mctclassnotes/utility/SP_Utilities.zip&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-8189376062325079335?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/8189376062325079335/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=8189376062325079335' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/8189376062325079335'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/8189376062325079335'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2010/09/q-how-do-i-determine-storage-size-of.html' title='Q: How do I determine the storage size of the various sites in my SharePoint 2007 site collection?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-1447350613983207151</id><published>2009-07-21T12:11:00.000-07:00</published><updated>2009-07-21T12:24:25.680-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Q: Can a SQL 2008 Central Management Server manage SQL 2005 instances? What about SQL 2000?</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;A: Yes, it can absolutely manage both SQL 2005 and SQL 2000 instances, and can in fact send multi-server queries out to all of them, assuming the queries are valid for all instances, e.g. SQL 2000 servers will obviously not understand a query against sys.databases... Similarly, policies can also be applied across versions, assuming the properties being set are valid for all instances.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;For your reference, &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.sqlskills.com/AboutKimberlyLTripp.asp"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Kimberly Tripp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; has a good post highlighting some of the cooler features: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.sqlskills.com/BLOGS/KIMBERLY/post/SQL-Server-2008-Central-Management-Servers-have-you-seen-these.aspx"&gt;&lt;span class="Apple-style-span"  style="font-family:arial;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.sqlskills.com/BLOGS/KIMBERLY/post/SQL-Server-2008-Central-Management-Servers-have-you-seen-these.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-1447350613983207151?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/1447350613983207151/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=1447350613983207151' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/1447350613983207151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/1447350613983207151'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2009/07/q-can-sql-2008-central-management.html' title='Q: Can a SQL 2008 Central Management Server manage SQL 2005 instances? What about SQL 2000?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-6237645004891587247</id><published>2007-09-14T07:59:00.000-07:00</published><updated>2007-09-14T09:27:44.015-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SQL Server'/><title type='text'>Q. In SQL server, why is there a difference between the number of reads reported by STATISTICS IO and the number reported in a SQL Profiler trace?</title><content type='html'>&lt;span style="font-family:arial;"&gt;A. The short answer is, the profiler trace shows *all* IO associated with a particular statement, including reads of system tables for schema information, permission checks, etc. STATISTICS IO only shows the reads of data pages that contain the actual data for each table named in the query. So, in general the two numbers will not match, and the Profiler number will usually be larger than the STATISTICS IO number.&lt;br /&gt;&lt;br /&gt;This Q article has the details: &lt;/span&gt;&lt;a href="http://support.microsoft.com/default.aspx/kb/314648"&gt;&lt;span style="font-family:arial;"&gt;Q314648:&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:arial;"&gt; INF: Differences in STATISTICS IO, SQL Profiler and Sysprocesses IO Counters&lt;br /&gt;&lt;/span&gt;&lt;a href="http://support.microsoft.com/default.aspx/kb/314648"&gt;&lt;span style="font-family:arial;"&gt;http://support.microsoft.com/default.aspx/kb/314648&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-6237645004891587247?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/6237645004891587247/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=6237645004891587247' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6237645004891587247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6237645004891587247'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2007/09/q-in-sql-server-why-is-there-difference.html' title='Q. In SQL server, why is there a difference between the number of reads reported by STATISTICS IO and the number reported in a SQL Profiler trace?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-6116659400395521597</id><published>2007-05-18T05:20:00.000-07:00</published><updated>2007-05-18T07:41:56.982-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Javascript'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Q. How do I debug client-side javascripts in my ASP.NET application?</title><content type='html'>&lt;span style="font-family:arial;"&gt;A. By enabling debugging in Internet Explorer and adding the "debugger" keyword to your javascript, like Walt Ritscher says to do in this blog entry:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://waltritscher.com/blog/ramblings/archive/2004/09/19/211.aspx"&gt;&lt;span style="font-family:arial;"&gt;http://waltritscher.com/blog/ramblings/archive/2004/09/19/211.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;Briefly:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;In Internet Explorer, go to Tools--&gt;Internet Options--&gt;Advanced, and uncheck the option marked "Disable Script Debugging"&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Add the word "Debugger" into your script where you want it to break into debug mode.&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Run the app. When the script hits that point, you'll be asked what you want to use to debug. Choose "New Instance of Visual Studio".&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family:arial;"&gt;Step through your code as normal.&lt;/li&gt;&lt;/ol&gt;&lt;/span&gt;&lt;span style="font-family:arial;"&gt;That's it!&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;Updated to add&lt;/span&gt;&lt;span style="font-family:arial;"&gt;:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:Arial;"&gt;This MSDN article has even more interesting things to say:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/k2h50zzs(VS.80).aspx"&gt;&lt;span style="font-family:arial;"&gt;http://msdn2.microsoft.com/en-us/library/k2h50zzs(VS.80).aspx&lt;/span&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-6116659400395521597?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/6116659400395521597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=6116659400395521597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6116659400395521597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6116659400395521597'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2007/05/q-how-do-i-debug-client-side.html' title='Q. How do I debug client-side javascripts in my ASP.NET application?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-6387487488994033702</id><published>2007-05-18T05:09:00.000-07:00</published><updated>2007-05-18T05:23:52.054-07:00</updated><title type='text'>Q. How do I prevent pages in my ASP.NET application from being cached on the browser?</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;em&gt;(More specifically, how do I make it so that a sensitive report is not available simply by clicking the browser's "back" button?)&lt;/em&gt;&lt;/span&gt;&lt;br /&gt;&lt;em&gt;&lt;span style="font-family:Arial;"&gt;&lt;/span&gt;&lt;/em&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;A. Easy. Simply read Peter Bromberg's excellent article on ASP.NET caching: &lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.eggheadcafe.com/articles/20060407.asp"&gt;&lt;span style="font-family:arial;"&gt;http://www.eggheadcafe.com/articles/20060407.asp&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This is actually an in-depth piece about both server-side and client-side caching, but it includes the answer to this question, which is to include the following line of code in the &lt;span style="font-family:courier new;"&gt;page_load&lt;/span&gt; event of the page you want to affect:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;Response.Cache.SetCacheability(HttpCacheability.NoCache)&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;This will add a header to the http response that instructs both the browser and any intermediary proxy servers not to cache this page locally.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-6387487488994033702?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/6387487488994033702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=6387487488994033702' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6387487488994033702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/6387487488994033702'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2007/05/q-how-do-i-prevent-pages-in-my-aspnet.html' title='Q. How do I prevent pages in my ASP.NET application from being cached on the browser?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5365646435933681059.post-3832277101529315735</id><published>2007-05-17T13:07:00.000-07:00</published><updated>2007-05-18T05:08:50.192-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VB.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='ASP.NET'/><title type='text'>Q. In VB.NET, what's the difference between a reference (referencing a class library) and the "imports" statement?</title><content type='html'>&lt;span style="font-family:arial;"&gt;&lt;strong&gt;A.&lt;/strong&gt; This one comes up a lot. A reference allows your application to use logic that has been implemented in some external class library (a dll). If you want to use the classes in a particular library, you &lt;strong&gt;need&lt;/strong&gt; to add a reference to that library so your application knows where to find those classes. In contrast, the "imports" statement is essentially a convenience feature. It tells your application which parts of all of the libraries you've referenced will actually be used. It does this by specifying the &lt;em&gt;namespace&lt;/em&gt; in which those parts reside. Namespaces are a logical construct that exist solely to organize classes into hierarchical relationships, basically to make the 12,000+ classes in the .NET framework easier to get along with. It's important to note that you don't actually &lt;em&gt;need&lt;/em&gt; to use the "imports" statement -- as long as a class is available within the project or via a reference, you can work with it via its fully-qualified name. For example:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;span style="color:#33cc00;"&gt;' If I want to work with the SQLConnection object, I can import the namespace it lives in, like this...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;imports system.data.sqlclient&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' ...and then I've got the class available by name, and I can instantiate it:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;dim myConn as new SQLConnection&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' Alternately, I can skip the "imports" statement, and just refer to the class directly&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;dim myConn as new system.data.sqlclient.SQLConnection&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;span style="color:#33cc00;"&gt;' Both "dim" statements are semantically identical, and compile to the same MSIL code&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:arial;"&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;&lt;span style="color:#33cc00;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;Another reason for the use of namespaces is to avoid name collisions -- say, for example, that you implement your own SQLConnection class, inside of a namespace called "myNamespace". This is legal, because the fully-qualified names of the two classes are different, i.e.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' Microsoft class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#333333;"&gt;dim msConn as new system.data.sqlclient.SQLConnection&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' Your class&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;dim myConn as new myNamespace.SQLConnection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;You can even import both namespaces and alias them for later use in distinguishing between class names:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;imports TheMicrosoftOne = system.data.sqlclient&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;imports TheOtherOne = myNamespace&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' This is the Microsoft one&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#333333;"&gt;dim msConn as new TheMicrosoftOne.SQLConnection&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;color:#33cc00;"&gt;' This is the other one&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;span style="color:#333333;"&gt;dim myConn as new TheOtherOne.SQLConnection&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;So, in summary:- References tell your application where to find external code (i.e. in external dll's) that you want to use.- The "Imports" statement provides easy access to class names inside hierarchical namespaces.- You &lt;em&gt;need&lt;/em&gt; references if you want to use classes from external libraries.- You &lt;em&gt;do not need&lt;/em&gt; the "Imports" statement to use any given class, it is there to facilitate the organization of classes into namespaces. The "Imports" statement simply saves you some typing.&lt;br /&gt;&lt;br /&gt;References: &lt;/span&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/7f38zh8x.aspx"&gt;&lt;span style="font-family:arial;"&gt;http://msdn2.microsoft.com/en-us/library/7f38zh8x.aspx&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5365646435933681059-3832277101529315735?l=mctclassnotes.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://mctclassnotes.blogspot.com/feeds/3832277101529315735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=5365646435933681059&amp;postID=3832277101529315735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/3832277101529315735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5365646435933681059/posts/default/3832277101529315735'/><link rel='alternate' type='text/html' href='http://mctclassnotes.blogspot.com/2007/05/q-in-vbnet-whats-difference-between.html' title='Q. In VB.NET, what&apos;s the difference between a reference (referencing a class library) and the &quot;imports&quot; statement?'/><author><name>Dan Costello</name><uri>http://www.blogger.com/profile/01206640140537973317</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
