<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blog.avanadeadvisor.com/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>Braulio_Malaga</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.0 (Build: 60217.2664)</generator><item><title>I need to SUM by region hierarchy on a given measure, but use the average function when dealing with time entries</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/05/15/1406.aspx</link><pubDate>Tue, 15 May 2007 11:34:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1406</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1406.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1406</wfw:commentRss><description>&lt;P&gt;That's a common scenario and was a pain in the neck to get results using Analysis Services 2000. &lt;/P&gt;
&lt;P&gt;In SSAS 2005 we have.... &lt;STRONG&gt;SEMI ADDITIVE MEASURES&lt;/STRONG&gt;: by using this measures we use SUM for all the dimensions but not for the time dimensions (watch out you need to use proper time dimensions!), pretty cool.&lt;/P&gt;
&lt;P&gt;Snippet from Projecr Real, technical overview:&lt;BR&gt;(&lt;A href="http://www.microsoft.com/technet/prodtechnol/sql/2005/projreal.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/projreal.mspx&lt;/A&gt;)&lt;/P&gt;
&lt;P class=BulletedList1&gt;&lt;FONT face=Verdana size=2&gt;&lt;EM&gt;The use of semi-additive measures, as exemplified by the inventory data.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Semi-additive measures were not simple to implement in prior releases and did not always perform well.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Now the system directly supports them, and their use in Project REAL illustrates this.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;(For readers not familiar with the term: Semi-additive measures do not sum up over time.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Sales for the three months in a quarter can be added to get the total sales for the quarter; this is an additive measure.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Inventories for the three months cannot be added to get the “total” inventory—it makes no sense.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Inventories at a particular time at different locations can however be added to get a total.&lt;SPAN&gt;&amp;nbsp; &lt;/SPAN&gt;Hence, inventories are the classic example of a semi-additive measure.)&lt;/EM&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;Links:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.conchango.com/christianwade/archive/2005/04/07/Semi_2D00_Additive-Measures-in-Analysis-Services-2005.aspx"&gt;http://blogs.conchango.com/christianwade/archive/2005/04/07/Semi_2D00_Additive-Measures-in-Analysis-Services-2005.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.datadefractor.com/blog/"&gt;http://www.datadefractor.com/blog/&lt;/A&gt;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1406" width="1" height="1"&gt;</description></item><item><title>MSDB went nuts !!</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/04/25/1323.aspx</link><pubDate>Wed, 25 Apr 2007 17:53:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1323</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1323.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1323</wfw:commentRss><description>&lt;P&gt;It's the second time that I got an ugly message from my SQL Server:&lt;/P&gt;
&lt;P&gt;&lt;FONT size=2&gt;&lt;STRONG&gt;Database&lt;/STRONG&gt; '&lt;B&gt;msdb&lt;/B&gt;' &lt;B&gt;cannot be opened due to inaccessible files&lt;/B&gt; or insufficient memory or disk space&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;That happens when the msdb database gets corrupted :-(, you can find instruction to restore this database:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/06/619304.aspx"&gt;http://blogs.msdn.com/sqlserverstorageengine/archive/2006/06/06/619304.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Watch out ! yo uare going to loose all your schedulings (jobs...), to get more info about what is the msdb database:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msdn2.microsoft.com/en-us/library/ms187112.aspx"&gt;http://msdn2.microsoft.com/en-us/library/ms187112.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Next time... do a backup :-(&lt;/P&gt;
&lt;P&gt;... Well if none of this options works for your there is an emergency solution (specially if the crashed SQL Server is on a development machine).. stop the SQL Server Service, and&amp;nbsp;overwrite the mdf and ldf files from a msdb&amp;nbsp;db belonging to another machine (we setup a fresh copy again :-)), restart the service and everything will start working again. Not very clean, but works.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1323" width="1" height="1"&gt;</description></item><item><title>In my ASP .net application I need to generate a word document and send it to the client</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/04/17/1294.aspx</link><pubDate>Tue, 17 Apr 2007 09:12:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1294</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1294.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1294</wfw:commentRss><description>&lt;P&gt;Quite common request...&lt;/P&gt;
&lt;P&gt;&amp;nbsp; If you use Excel, you have defined methods to do this, the most elegant is to use XMLSS format, transform an XMLSS file to an XSL and combine it with a DataSet, pretty cool.&lt;/P&gt;
&lt;P&gt;&amp;nbsp; but on Ms Word... mmm.. if you only have to support Office 2007, then you are saved, it has a native XML format, but if you "poor soul" have to support older formats, you can play generating RTF files and stream them to the client (you can convert them to an XSL template and combine them with a DataSet as well), about streaming RTF, here you have an interesting link:&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;A href="http://support.microsoft.com/kb/270906/"&gt;http://support.microsoft.com/kb/270906/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; HTH&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1294" width="1" height="1"&gt;</description></item><item><title>SQL Server Management studio - Connect To Server, remove entries from list</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/04/12/1263.aspx</link><pubDate>Thu, 12 Apr 2007 08:53:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1263</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1263.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1263</wfw:commentRss><description>&lt;P&gt;SQL Server management studio has a very good feature it remembers that last X server that you connected using this tool. That's superb... but... what happens if you want to remove your "fingerprints".&lt;/P&gt;
&lt;P&gt;You can modify or remove a file called "mru.dat" that is located in the following path:&lt;/P&gt;
&lt;P&gt;C:\Documents and Settings\&amp;lt;user&amp;gt;\Application Data\Microsoft\Microsoft SQL Server\90\Tools\Shell\mru.dat.&lt;/P&gt;
&lt;P&gt;More info about this:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://stevenharman.net/blog/archive/2006/10/25/SQL_Server_2005_Management_Studio__Clear_Recent_Servers_List.aspx"&gt;http://stevenharman.net/blog/archive/2006/10/25/SQL_Server_2005_Management_Studio__Clear_Recent_Servers_List.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1263" width="1" height="1"&gt;</description></item><item><title>GridView RowCommand Hidden Columns, Width 0... no more nasty tricks use DataKeys !!!</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/04/01/1069.aspx</link><pubDate>Sun, 01 Apr 2007 16:32:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1069</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1069.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1069</wfw:commentRss><description>&lt;P&gt;Sometimes when we have to migrate our knowledge from 1.1 to 2.0... we just try to make things as it was before, just because it worked out fine, or we don't had the time to go that inner details, this post belongs to that kind of stuff.... &lt;/P&gt;
&lt;P&gt;Are you still using hidden columns or width 0 to keep you internal ID's on your grid ? If you are doing it that way, don't do it anymore !!!, just use the&amp;nbsp;2.0 GridView DataKeys field, you will only have to add this declaration on you GridView (on DataKeyNames enter the name of your ID field in the DB/DataSource):&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;lt;&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;asp&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;:&lt;/FONT&gt;&lt;FONT color=#a31515 size=2&gt;GridView&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;ID&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="grdMyGrid"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;runat&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="server"&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;
&lt;P&gt;&lt;FONT color=#0000ff size=2&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;DataSourceID&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="MyDatasource" 
&lt;P&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;(...)&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#ff0000 size=2&gt;OnRowCommand&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="grdMyGrid_RowCommand"&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT&gt;&lt;FONT color=#ff0000 size=2&gt;datakeynames&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;="Id"&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;&amp;gt;&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;And to access in the rowcommand:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;protected&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;void&lt;/FONT&gt;&lt;FONT size=2&gt; grdDotnetGrid_RowCommand(&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;object&lt;/FONT&gt;&lt;FONT size=2&gt; sender, &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;GridViewCommandEventArgs&lt;/FONT&gt;&lt;FONT size=2&gt; e)&lt;/P&gt;
&lt;P&gt;{&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt; index = &lt;/FONT&gt;&lt;FONT color=#2b91af size=2&gt;Convert&lt;/FONT&gt;&lt;FONT size=2&gt;.ToInt32(e.CommandArgument); &lt;/FONT&gt;&lt;/P&gt;&lt;FONT size=2&gt;&lt;FONT color=#0000ff size=2&gt;
&lt;P&gt;&lt;FONT&gt;int&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT&gt;&lt;FONT size=2&gt; idSelected = (&lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;int&lt;/FONT&gt;&lt;FONT size=2&gt;) grdMyGrid.DataKeys[index].Value; &lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;
&lt;P&gt;&lt;/FONT&gt;}&lt;/P&gt;&lt;/FONT&gt;
&lt;P&gt;Remember you can use composite keys as well !!&lt;/P&gt;
&lt;P&gt;More info:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://weblogs.asp.net/despos/archive/2005/06/30/416783.aspx"&gt;http://weblogs.asp.net/despos/archive/2005/06/30/416783.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1069" width="1" height="1"&gt;</description></item><item><title>SSIS SQL Server Destination, WATCH OUT !!</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/03/31/1064.aspx</link><pubDate>Sat, 31 Mar 2007 19:15:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1064</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1064.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1064</wfw:commentRss><description>&lt;P&gt;Have you ever experience INSERT BULK errors and crashes on you SSIS process when running unattended ? Normally when you perform some research you realize that changing an SQL Server Destination by the slow good old chap OLE DB Destination, things start working again.&lt;/P&gt;
&lt;P&gt;In the following article Jamie Thomson has taking the time to snif the commands generated by each destination using SQL Server profiler, it turns out, that you cannot use SQL Server Destination to write on a different server, and that the account running this process must have active a "Local Security Police" to create global objects in memory.&lt;/P&gt;
&lt;P&gt;What does this mean ? Only use this SQL Server Destination, if you don't plan to distribute your system in several computers (if you do that in the future, you will have to modify your SSIS code, imagine that in two years time... GLUPS !!!).&lt;/P&gt;
&lt;P&gt;Well, here comes the excellent link:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.conchango.com/jamiethomson/archive/2006/08/14/SSIS_3A00_-Destination-Adapter-Comparison.aspx"&gt;http://blogs.conchango.com/jamiethomson/archive/2006/08/14/SSIS_3A00_-Destination-Adapter-Comparison.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1064" width="1" height="1"&gt;</description></item><item><title>GridView.SortExpression ... beware my friend</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/03/30/1038.aspx</link><pubDate>Fri, 30 Mar 2007 13:05:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1038</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1038.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1038</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Tweaking ASP .net 2.0 Gridview with custom paging and sorting to speed up our application, it's a good idea, but apart from the manual work that you have to do (exciting anyway to grasp full control :-)), take care with sort expression, you may be tempted to pass in this field the column of the SQL table that you want to use... is it a good idea?... NO !, two bullets here:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp; - If you work with an n-tier system, suddenly you are breaking up the isolation between the UI Later and the DataLayer by using physical column names of tables.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; &lt;FONT face=Arial size=2&gt;-&amp;nbsp;A hacker could insert an injection attack you SQL, because finally you are just passing that string as a concat for the you dynamic SQL stored proc, the evil !!.&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp; A better approach is to use logical names for the sorting, and map this in your datalayer, never trust user input. A very cool link about this issue:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt; &lt;A href="http://www.dotnetjunkies.com/WebLog/joshuagough/archive/2006/08/29/145416.aspx"&gt;http://www.dotnetjunkies.com/WebLog/joshuagough/archive/2006/08/29/145416.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;HTH&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1038" width="1" height="1"&gt;</description></item><item><title>Passing Dynamic DataSet to ReportViewer or SSRS</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/03/29/1035.aspx</link><pubDate>Thu, 29 Mar 2007 09:52:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:1035</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/1035.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=1035</wfw:commentRss><description>&lt;P&gt;Many people misses a push mode like Crystal Report Does, passing a DataSet at runtime to the report engine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;Well... the truth is... YOU CAN DO THIS IN SSRS !!!&lt;/P&gt;
&lt;P&gt;&amp;nbsp; About how to do this in a Windows Forms Application (ReportViewer):&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A title=http://www.codeproject.com/useritems/reportdisplay.asp href="http://www.codeproject.com/useritems/reportdisplay.asp"&gt;http://www.codeproject.com/useritems/reportdisplay.asp&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; About a workaround to do this using SSRS (pass the dataset in a WebService and use it as a datasource, cool stuff):&lt;/P&gt;
&lt;P&gt;Dynamic DataSet using XML Web Service DataSource&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;A title=http://prologika.com/CS/blogs/blog/archive/2005/11/20/695.aspx href="http://prologika.com/CS/blogs/blog/archive/2005/11/20/695.aspx"&gt;http://prologika.com/CS/blogs/blog/archive/2005/11/20/695.aspx&lt;/SPAN&gt;&lt;/FONT&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Other options&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;FONT face=Arial size=2&gt;&lt;SPAN&gt;&lt;A title=http://www.devx.com/dbzone/Article/31336/1954?pf=true href="http://www.devx.com/dbzone/Article/31336/1954?pf=true"&gt;http://www.devx.com/dbzone/Article/31336/1954?pf=true&lt;/A&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=1035" width="1" height="1"&gt;</description></item><item><title>Quick check: Test that you can send e-mails using a given SMTP Server</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/02/26/876.aspx</link><pubDate>Mon, 26 Feb 2007 18:44:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:876</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/876.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=876</wfw:commentRss><description>&lt;P&gt;In the last projects that I have been working I need to rely on an SMTP server with some "security policies"... sometimes it was a problems to check if sending e-mails was a problem of my application, or just that the SMTP server sucks...&lt;/P&gt;
&lt;P&gt;I have found a cool link that let's you make a quick test (Send an e-mail using a telnet), so you can call the Admin telling that for sure their servcer is not working (EHLO !):&lt;/P&gt;
&lt;P&gt;&lt;A href="http://msexchangeteam.com/archive/2006/07/14/428324.aspx"&gt;http://msexchangeteam.com/archive/2006/07/14/428324.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp; HTH&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Braulio&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=876" width="1" height="1"&gt;</description></item><item><title>Crash Intro to Reporting Services</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/02/06/792.aspx</link><pubDate>Tue, 06 Feb 2007 10:48:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:792</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/792.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=792</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Here is a link to a lite and quick introduction to Reporting services:&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;A title=http://www.simple-talk.com/content/print.aspx?article=268 href="http://www.simple-talk.com/content/print.aspx?article=268"&gt;http://www.simple-talk.com/content/print.aspx?article=268&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;Useful if you don't know what is Reporting Services and just want to see how it looks like (create an easy report and do some fancy formatting), Crystal Reports guys will like it.&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=792" width="1" height="1"&gt;</description></item><item><title>SSAS Display member properties on SSRS Reports</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/02/05/790.aspx</link><pubDate>Mon, 05 Feb 2007 16:48:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:790</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>1</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/790.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=790</wfw:commentRss><description>&lt;P&gt;&lt;FONT face=Arial size=2&gt;Hello, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp; When you use Reporting Services Dataset designer,you can only go adding dimension members to a given report, that's a risk because adding fields there means that the cube will try to slice and dice by every single column added, What happens if you want to show a member property (an attribute that is only information, e.g. you have Project ID, Project Name would be that kind of attribute), if you try to drag and drop a member property, the designer won't let you do so :-(...&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; What to do? Here you have the solution:&lt;/FONT&gt;&lt;/P&gt;
&lt;OL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;There is a well known bug in SQL Server 2005, "912702", you need to install the Service Pack 1 of SQL Server 2005.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;To install the service pack correctly stop the AS service (dono why but I had to make that in order to install the patch correctly).&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;In reporting, forget to use the nice design mode, switch to query mode, and where it is used the dimension that you want to get the attribute, add your attribute name (just after the DIMENSION PROPERTIES declaration), e.g.:&lt;/FONT&gt;&lt;/LI&gt;&lt;/OL&gt;
&lt;P&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;&amp;nbsp;SELECT &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;NON EMPTY { [Measures].[MyMeasure] } ON COLUMNS, &lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial color=#0000ff size=2&gt;NON EMPTY { ([MyDimension].[MyHierarchy].[MyLevel].ALLMEMBERS) } &lt;BR&gt;DIMENSION PROPERTIES MEMBER_CAPTION, MEMBER_UNIQUE_NAME&lt;FONT&gt;,[MyDimension].[MyHierarchy].[MyLevel].[MYMEMBERPROPERTY]&lt;BR&gt;&lt;/FONT&gt;ON ROWS&lt;/FONT&gt; &lt;/P&gt;
&lt;P&gt;(...)&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&lt;FONT face=Arial size=2&gt; 4. Run the query (it should work fine), now go to the report and you have two options:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;Directly drag and drop the member property into the reports (it's available as a dataset column).&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;Or just select the field (dimension, hierarchy level..) that should contain the attribute and insert the following text into the cell:.&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;BLOCKQUOTE dir=ltr&gt;
&lt;P&gt;&lt;FONT face=Arial&gt;&lt;FONT size=2&gt;&amp;nbsp;&amp;nbsp;&lt;FONT color=#0000ff&gt; =Fields!MyDataSetField.Properties("MYMEMBERPROPERTY")&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; Run the report,and everything should work fine !!!&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; HTH&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Braulio&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT face=Arial size=2&gt;&amp;nbsp;&amp;nbsp; On thing to take into consideration MDX editor is not very stable, you will get from time to time a crash on Visual Studio :-(.&lt;/FONT&gt;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=790" width="1" height="1"&gt;</description></item><item><title>SSRS Create Subscription programmatically</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/01/31/776.aspx</link><pubDate>Wed, 31 Jan 2007 14:55:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:776</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/776.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=776</wfw:commentRss><description>&lt;P&gt;Cool link about how to create an SSRS subscription via Web Service API&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.odetocode.com/Articles/114.aspx"&gt;http://www.odetocode.com/Articles/114.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=776" width="1" height="1"&gt;</description></item><item><title>SQL Server 2005 DB Diagrams: Database diagram support objects cannot be installed because this database does not have a valid owner</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/01/15/728.aspx</link><pubDate>Mon, 15 Jan 2007 15:21:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:728</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/728.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=728</wfw:commentRss><description>&lt;P&gt;Sometimes when you try to create a database diagram on SQL Server 2005, you get a nasty message:&lt;/P&gt;
&lt;P&gt;&lt;SPAN&gt;"Database diagram support objects cannot be installed because this database does not have a valid owner. To continue, first use the Files page of the Database Properties dialog box or the ALTER AUTHORIZATION statement to set the database owner to a valid login, then add the database diagram support objects. " &lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;Well, there are some magic statements to remove this error message:&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;Select your database in the Management console&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;EXEC&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;sp_changedbowner&lt;/SPAN&gt; &lt;SPAN&gt;'sa'&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;EXEC&lt;/SPAN&gt;&lt;SPAN&gt; &lt;SPAN&gt;sp_dbcmptlevel&lt;/SPAN&gt; &lt;SPAN&gt;'YOUR_DATABASE_NAME'&lt;/SPAN&gt;&lt;SPAN&gt;,&lt;/SPAN&gt; &lt;SPAN&gt;'90'&lt;/SPAN&gt;&lt;SPAN&gt;;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;go&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal&gt;&lt;SPAN&gt;In the forums they say that this happens when you try to use a SQL Server 2000 database in 2005, you have to change your compatibility level to SQL 90... well not sure if it's true, but at least it works :)&lt;/SPAN&gt;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=728" width="1" height="1"&gt;</description></item><item><title>Advanced tips for Reporting Services 2005</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2007/01/04/716.aspx</link><pubDate>Thu, 04 Jan 2007 17:52:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:716</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/716.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=716</wfw:commentRss><description>&lt;P&gt;Some solutions for tricky problems on Reporting Services:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.msdn.com/ChrisHays/"&gt;http://blogs.msdn.com/ChrisHays/&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Tips like:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;How can I give my users the ability to dynamically select fields on which to group within a report?&lt;/LI&gt;
&lt;LI&gt;How can I get print-quality output from my custom report item?&lt;/LI&gt;
&lt;LI&gt;How can I enable users to select "All" as the value of a &lt;U&gt;multivalue&lt;/U&gt; query parameter?&lt;/LI&gt;
&lt;LI&gt;I have variable sized images I want to display in a table column.&amp;nbsp; How can I center these images without stretching them to fill the table cell?&lt;/LI&gt;
&lt;LI&gt;How can I get a green-bar effect (alternating colors) in a matrix?&lt;/LI&gt;
&lt;LI&gt;Does Reporting Services support horizontal tables (fixed rows and dynamic columns)&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=716" width="1" height="1"&gt;</description></item><item><title>SSIS How to convert a Recordset into a Dataset ready to use by .net custom script task</title><link>http://blog.avanadeadvisor.com/blogs/braulio_malaga/archive/2006/12/20/709.aspx</link><pubDate>Wed, 20 Dec 2006 16:12:00 GMT</pubDate><guid isPermaLink="false">5e51d585-b788-4f7c-85ba-1877739ce145:709</guid><dc:creator>Braulio_Malaga</dc:creator><slash:comments>0</slash:comments><comments>http://blog.avanadeadvisor.com/blogs/braulio_malaga/comments/709.aspx</comments><wfw:commentRss>http://blog.avanadeadvisor.com/blogs/braulio_malaga/commentrss.aspx?PostID=709</wfw:commentRss><description>&lt;P&gt;With SSIS is easy to get a recordset in a variable, then you can play with it.. assign it to a loop, iterate through all the rows... BUT if you need to use that recordset in a vb .net script task your nightmare just begins:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;You cannot cast an Recordset into a Dataset, recordset, recordset is old VB6 COM stuff. 
&lt;LI&gt;You cannot easily use the Recordset object in the vb script, you have to make special configurations (install a COM DLL, register it.. :-(), not good stuff.&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&amp;nbsp; Solution... &lt;STRONG&gt;take a dataset and fill it with the recordset data (object) using an oldDbAdapter !!&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://blogs.conchango.com/jamiethomson/archive/2006/01/04/2540.aspx"&gt;http://blogs.conchango.com/jamiethomson/archive/2006/01/04/2540.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; And if you need to do it the other way around, Jack Pham pointed out a good link to convert from DataSet to ADO Recordset:&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;A href="http://support.microsoft.com/kb/316337/en-us"&gt;http://support.microsoft.com/kb/316337/en-us&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp; HTH&lt;/P&gt;&lt;img src="http://blog.avanadeadvisor.com/aggbug.aspx?PostID=709" width="1" height="1"&gt;</description></item></channel></rss>