<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblogcasts.com/utility/FeedStylesheets/atom.xsl" media="screen"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title type="html">greenmtnsun</title><subtitle type="html">Keith Ramsey&amp;#39;s Business Intelligence Blog </subtitle><id>http://sqlblogcasts.com/blogs/greenmtnsun/atom.aspx</id><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/default.aspx" /><link rel="self" type="application/atom+xml" href="http://sqlblogcasts.com/blogs/greenmtnsun/atom.aspx" /><generator uri="http://communityserver.org" version="3.1.20917.1142">Community Server</generator><updated>2007-08-27T14:41:00Z</updated><entry><title>MCITP BI News; some news for MCTS BI and SQL Server 2008</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/10/17/recources-for-the-premier-microsoft-business-intelligence-certification-mcitp-bi-for-sql-server-2005-is-fading-from-microsoft.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/10/17/recources-for-the-premier-microsoft-business-intelligence-certification-mcitp-bi-for-sql-server-2005-is-fading-from-microsoft.aspx</id><published>2007-10-17T17:05:00Z</published><updated>2007-10-17T17:05:00Z</updated><content type="html">&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;Anticipated &lt;U&gt;recources&lt;/U&gt;&amp;nbsp;for the premier Microsoft Business Intelligence&amp;nbsp;certification (MCITP BI) for &lt;U&gt;SQL Server&amp;nbsp;2005&lt;/U&gt;&amp;nbsp;are &lt;U&gt;fading&lt;/U&gt; from Microsoft.&amp;nbsp;&amp;nbsp;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;I recently was made aware from Amazon that a book I pre-ordered titled "MCITP Self-Paced Training Kit (Exam 70-446): Designing and Developing a Business Intelligence Infrastructure by Using Microsoft SQL Server(TM) 2005 (Mcitp Self Paced Training Kit)" &lt;U&gt;was cancled&lt;/U&gt;.&amp;nbsp; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;I spoke with someone* from MSPRESS and found out the following:&amp;nbsp; &lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;"We postponed the 70-446 Training Kit, but plan to get it going again for the SQL Server 2008 release. I can only give a rough estimate on availability, probably Summer 2008. "&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;In a later e-mail&amp;nbsp;the person I spoke with&amp;nbsp;shared that they agreed that "A Training Kit would be the optimum preparation for the 70-446 exam. I’m sorry we don’t have one available now, but we’re planning an edition for the upcoming SQL Server 2008 release."&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;&amp;nbsp;So... If you're interested in the MCITP BI and want to obtain that before next Summer, they suggest the following books:&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;
&lt;UL&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;SQL Server 2005 Analysis Services Step by Step&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;SQL Server 2005 Reporting Services Step by Step&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;SQL Server 2005 Integration Services Step by Step&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;
&lt;LI&gt;
&lt;DIV class=MsoNormal&gt;&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;&lt;o:p&gt;And use this to prepare:&amp;nbsp; &lt;A href="http://www.microsoft.com/learning/exams/70-446.mspx"&gt;http://www.microsoft.com/learning/exams/70-446.mspx&lt;/A&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;STRONG&gt;&lt;/STRONG&gt;
&lt;P&gt;One thing on that website that is innacurate is that Measure Up and Self Test Software companies do NOT have the 70-446 exam preps for this&amp;nbsp;cert&amp;nbsp;and from what I can tell, they will not.&amp;nbsp; The only&amp;nbsp;company that seems to have a test prep kit&amp;nbsp;is Transcender; and I doubt Microsoft recommends them.&lt;/P&gt;
&lt;P&gt;I also heard that "There’s a PerformancePoint 2007 TS exam planned for later this year/early next, but no current plan to tie it in with the SQL Server 2008 MCITP BI certification."&lt;/P&gt;
&lt;P&gt;&lt;o:p&gt;Regarding the MCTS BI exam, my source shared "&lt;SPAN style="FONT-SIZE:11pt;COLOR:#1f497d;FONT-FAMILY:'Calibri','sans-serif';"&gt;Currently, the SQL Server 2008 BI exams will include a completely new TS exam (replacing 70-445) and a refreshed version of the 70-446 exam. But there’s been nothing official yet and plans can change.&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;"&lt;/o:p&gt;&lt;/P&gt;
&lt;P&gt;Interesting news, huh?&lt;/P&gt;
&lt;P&gt;Keith&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&amp;nbsp;_________________________________________________________________________________________________&lt;/P&gt;
&lt;P&gt;* I can share the name of the person individually off the record with you if asked, but I'm not sure its wise to share the persons name publicly.&lt;BR&gt;&lt;/P&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2763" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSRS/default.aspx" /><category term="SQL SERVER" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SQL+SERVER/default.aspx" /><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSIS/default.aspx" /><category term="MCITP" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/MCITP/default.aspx" /><category term="SSNS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSNS/default.aspx" /><category term="Microsoft Press" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Microsoft+Press/default.aspx" /><category term="Business Intelligence" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Business+Intelligence/default.aspx" /><category term="MCITP BI" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/MCITP+BI/default.aspx" /><category term="SSAS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSAS/default.aspx" /><category term="MCTS BI" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/MCTS+BI/default.aspx" /><category term="SQL SERVER 2005" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SQL+SERVER+2005/default.aspx" /><category term="SQL SERVER 2008" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SQL+SERVER+2008/default.aspx" /><category term="BI" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/BI/default.aspx" /></entry><entry><title>SSIS conditional Split</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/24/ssis-conditional-split.aspx" /><link rel="enclosure" type="image/jpeg" length="136956" href="http://sqlblogcasts.com/blogs/greenmtnsun/attachment/2564.ashx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/24/ssis-conditional-split.aspx</id><published>2007-09-24T21:20:00Z</published><updated>2007-09-24T21:20:00Z</updated><content type="html">&lt;p&gt;I needed to figure out how to get SSIS to consume a file that had lines of data with attributes of both "apples" and "oranges".&amp;nbsp; No matter where I looked online, it was as if SSIS could not take in a file that had different types of data on each line and then throw that data into a database.&amp;nbsp; The situation looked bleak, until I found a little item in my toolbox inside a data flow called "Conditional Split". &lt;br&gt;&lt;br&gt;Conditional Split is almost like a little tool that makes your flat file like XML in that you can send data from the source to many tables.&amp;nbsp; When you consume an XML file in SSIS, you could have many tables that could flow from that source.&amp;nbsp; The same is true when you use Conditional Split; you tell SSIS when a line is a different row type and BAMM, you are on your way to multiple tables of data getting inserted into your database.&lt;/p&gt;&lt;p&gt;For me, the trick to all of this wasn't in how I accomplished this, but rather how to know what types of tools you need to use in SSIS to do what you need to do.&lt;/p&gt;&lt;p&gt; I have my Data Flow task.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;  Inside that I have my flat file Source.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;  That component points to a "Conditional Split" component.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; Inside of that component I simply created multiple conditions that meant that if a line started like X, then output that line to a separate flow into a table.&amp;nbsp; In my case, I said substring(Field_name,1,5)=="Batch" and called that Output Name "Batch_Details" table. I created other lines to, like substring(Field_name,1,3)=="Act" with an Output name of "Account Details".&amp;nbsp; You can create as many types of output lines as you might need, although I don't know what the technical limit is, I only needed 10.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;  That component then pointed to a derived columns component.&amp;nbsp; In my case, I had a fixed length file so I created a bunch of columns that were created by substring commands.&amp;nbsp; &lt;/p&gt;&lt;p&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; That component pointed to a OLE DB Destination.&lt;br&gt;&lt;br&gt;That was it.&amp;nbsp; It turned out to be pretty simple; if I could only figure out how SSIS could perform the actions.&amp;nbsp; I remain disappointed that there weren't many posts, FAQ's or much of anything out on the net to help reveal how to perform these actions.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Keith&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2564" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSIS/default.aspx" /><category term="data flow" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/data+flow/default.aspx" /><category term="conditional processing" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/conditional+processing/default.aspx" /><category term="Conditional Split" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Conditional+Split/default.aspx" /><category term="insert different data from one file into seperate tables in a database" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/insert+different+data+from+one+file+into+seperate+tables+in+a+database/default.aspx" /></entry><entry><title>HTTP Authenticatoin Download of File in SSIS to XML file </title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/07/http-authenticatoin-download-of-file-in-ssis-to-xml-file.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/07/http-authenticatoin-download-of-file-in-ssis-to-xml-file.aspx</id><published>2007-09-07T18:01:00Z</published><updated>2007-09-07T18:01:00Z</updated><content type="html">&lt;p&gt;Recently I posted a script that allows you to download a CSV file to SSIS through HTTP Authentication, today, I'm posting a slightly different script that uses some XML references in order to download an XML file.&amp;nbsp; You can probably use the other way that I wrote for the CSV file, but since I had both, I thought I'd blog them here for posterity sake.&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create a script task on the control flow tab.&lt;/li&gt;&lt;li&gt;Populate your URL in a prior step to a variable.&amp;nbsp; I used a SQL Task to format a complicated file name into the URL. &lt;br&gt;&lt;/li&gt;&lt;li&gt;Make sure your script task passes the URL in the ReadOnlyVariables to the script.&lt;br&gt;&lt;/li&gt;&lt;li&gt;Use this script below.&amp;nbsp; Correct the place for your UNC path for your output file, user id, password.&lt;/li&gt;&lt;li&gt;Consume your data in a data flow task.&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I hope this helps people; it took me a while to figure it out.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Keith&lt;/p&gt;&lt;p&gt;I used this VB.NET Script below:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;' Microsoft SQL Server Integration Services Script Task&lt;br&gt;' Write scripts using Microsoft Visual Basic&lt;br&gt;' The ScriptMain class is the entry point of the Script Task.&lt;br&gt;&lt;br&gt;Imports System&lt;br&gt;Imports System.Data&lt;br&gt;Imports System.Math&lt;br&gt;Imports Microsoft.SqlServer.Dts.Runtime&lt;br&gt;Imports System.Net&lt;br&gt;Imports System.IO&lt;br&gt;Imports System.Collections.Generic&lt;br&gt;Imports System.Text&lt;br&gt;Imports System.Xml&lt;br&gt;&lt;br&gt;Public Class ScriptMain&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&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; Dim restURL As New StringBuilder()&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; Dim restRequest As HttpWebRequest&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; Dim restResponse As HttpWebResponse&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; Dim xDoc As New XmlDocument()&lt;br&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; restURL.AppendFormat(Dts.Variables("URL").Value.ToString())&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; restRequest = DirectCast(WebRequest.Create(restURL.ToString()), HttpWebRequest)&lt;br&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; ' the key line. This adds the base64-encoded authentication information to the request header&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; restRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("USER_ID_GOES_HERE:PASSWORD_GOES_HERE")))&lt;br&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; restResponse = DirectCast(restRequest.GetResponse(), HttpWebResponse)&lt;br&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; xDoc.Load(restResponse.GetResponseStream())&lt;br&gt;&lt;/p&gt;&lt;p&gt;' If you wanted to, you could change this next line to interact with a variable, just be sure to pass it to the script.&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; xDoc.Save("UNC_PATH_AND_FILE_NAME_GO_HERE")&amp;nbsp; &lt;br&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; xDoc.Save(Console.Out)&lt;br&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; Dts.TaskResult = Dts.Results.Success&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch webEx As WebException&lt;br&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; Dim [error] As New StringBuilder()&lt;br&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; 'catch protocol errors&lt;br&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; If webEx.Status = WebExceptionStatus.ProtocolError Then&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; [error].AppendFormat("Status code: ", DirectCast(webEx.Response, HttpWebResponse).StatusCode)&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; [error].AppendFormat("Status description: ", DirectCast(webEx.Response, HttpWebResponse).StatusDescription)&lt;br&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; ' post the error message we got back.&amp;nbsp; This is the old error catch code that might work better with SSIS.&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; Dts.Events.FireError(0, String.Empty, webEx.Message.ToString(), String.Empty, 0)&lt;br&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; Dts.TaskResult = Dts.Results.Failure&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; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;End Class &lt;br&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2506" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSIS/default.aspx" /><category term="Script" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Script/default.aspx" /><category term="HTTP Authentification" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/HTTP+Authentification/default.aspx" /><category term="VB.NET" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/VB.NET/default.aspx" /><category term="XML" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/XML/default.aspx" /><category term="FILE DOWNLOAD" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/FILE+DOWNLOAD/default.aspx" /></entry><entry><title>HTTP Authenticatoin Download of File in SSIS to CSV file</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/06/http-authenticatoin-download-of-file-in-ssis-to-csv-file.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/09/06/http-authenticatoin-download-of-file-in-ssis-to-csv-file.aspx</id><published>2007-09-06T17:05:00Z</published><updated>2007-09-06T17:05:00Z</updated><content type="html">&lt;p&gt;I recently needed to perform a download of a CSV file with HTTP Authentication in SSIS to a CSV file.&amp;nbsp; Its possible, but I needed a script to do it.&amp;nbsp; I couldn't use an HTTP connection because nothing in SSIS would consume it.&amp;nbsp;&amp;nbsp; Nothing, including the File System, WMI and execute process tasks would work in the control flow and none of the data flow sources would consume the file.&amp;nbsp; I was forced to use a script since the company I was downloading from had no FTP and no web service for this file.&amp;nbsp;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Create a script task on the control flow tab.&lt;/li&gt;&lt;li&gt;Populate your URL in a prior step to a variable.&amp;nbsp; I used a SQL Task to format a complicated file name into the URL. &lt;br&gt;&lt;/li&gt;&lt;li&gt;Make sure your script task passes the URL in the ReadOnlyVariables to the script.&lt;br&gt;&lt;/li&gt;&lt;li&gt;Use this script below.&amp;nbsp; Correct the place for your UNC path for your output file, user id, password.&lt;/li&gt;&lt;li&gt;Consume your data in a data flow task.&lt;br&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;I hope this helps people; it took me a while to figure it out.&amp;nbsp;&lt;/p&gt;&lt;p&gt;Keith&lt;/p&gt;&lt;p&gt;p.s. Thanks to my co-worker Kirk Palmer for assistance with the VB.NET script.&lt;br&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt; I used this VB.NET Script below:&lt;br&gt;&lt;/p&gt;&lt;blockquote&gt;' Microsoft SQL Server Integration Services Script Task&lt;br&gt;' Write scripts using Microsoft Visual Basic&lt;br&gt;' The ScriptMain class is the entry point of the Script Task.&lt;br&gt;&lt;br&gt;Imports System&lt;br&gt;Imports System.Data&lt;br&gt;Imports System.Math&lt;br&gt;Imports Microsoft.SqlServer.Dts.Runtime&lt;br&gt;Imports System.Net&lt;br&gt;Imports System.IO&lt;br&gt;Imports System.Collections.Generic&lt;br&gt;Imports System.Text&lt;br&gt;&lt;br&gt;Public Class ScriptMain&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Public Sub Main()&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Try&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; Dim restURL As New StringBuilder()&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; Dim restRequest As HttpWebRequest&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; Dim restResponse As HttpWebResponse&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; Dim tDoc As StreamReader&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; ' modify the date, report name, merchant ID, and processing environment (production/test) as needed&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; restURL.AppendFormat(Dts.Variables("URL").Value.ToString())&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; restRequest = DirectCast(WebRequest.Create(restURL.ToString()), HttpWebRequest)&lt;br&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; ' the key line. This adds the base64-encoded authentication information to the request header&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; restRequest.Headers.Add("Authorization", "Basic " + Convert.ToBase64String(Encoding.ASCII.GetBytes("USER ID:PASSWORD")))&lt;br&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; restResponse = DirectCast(restRequest.GetResponse(), HttpWebResponse)&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; tDoc = New StreamReader(restResponse.GetResponseStream())&lt;br&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; Dim f As File&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; f.WriteAllText("UNC PATH FOR OUTPUT FILE", tDoc.ReadToEnd)&lt;br&gt;&lt;br&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; Dts.TaskResult = Dts.Results.Success&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Catch webEx As WebException&lt;br&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; Dim [error] As New StringBuilder()&lt;br&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; 'catch protocol errors&lt;br&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; If webEx.Status = WebExceptionStatus.ProtocolError Then&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; [error].AppendFormat("Status code: ", DirectCast(webEx.Response, HttpWebResponse).StatusCode)&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; [error].AppendFormat("Status description: ", DirectCast(webEx.Response, HttpWebResponse).StatusDescription)&lt;br&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; ' post the error message we got back.&amp;nbsp; This is the old error catch code that might work better with SSIS.&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; Dts.Events.FireError(0, String.Empty, webEx.Message.ToString(), String.Empty, 0)&lt;br&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; Dts.TaskResult = Dts.Results.Failure&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; End If&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Try&lt;br&gt;&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; End Sub&lt;br&gt;&lt;br&gt;End Class&lt;br&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;br&gt;
&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2500" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="SSIS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSIS/default.aspx" /><category term="CSV" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/CSV/default.aspx" /><category term="Script" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Script/default.aspx" /><category term="HTTP Authentification" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/HTTP+Authentification/default.aspx" /><category term="VB.NET" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/VB.NET/default.aspx" /></entry><entry><title>Vista and SSRS</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/28/vista-and-ssrs.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/28/vista-and-ssrs.aspx</id><published>2007-08-28T17:18:00Z</published><updated>2007-08-28T17:18:00Z</updated><content type="html">&lt;P&gt;Did you know that Microsofts new operating&amp;nbsp;system will only allow you to install SSRS's full features on its Business and Ultimate editions?&amp;nbsp; Yep.&amp;nbsp; Vista does not allow users access to a little itsy feature in IIS called Windows Authentification.&amp;nbsp; So while your Vista Premium machine might have IIS, it has this little tiny thing excluded from it.&amp;nbsp; Microsofts explaination is that IIS 7 on Vista Premium is for the Hobyist web developer.&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;I found out the hard way; I asked my Dell rep when I baught my PC if the Vista Premium had IIS, and he said "YES!"&amp;nbsp; Too bad he didn't know that Microsoft decided to exclude&amp;nbsp;Windows Authentification from some versions.&amp;nbsp; So much for the Vista Premium purchase; and Dell didn't help me at all upgrade to Ultimate.&amp;nbsp; I had to purchase a Vista Ultimate upgrade on my own from some online retailer.&amp;nbsp; Yikes was my wife anoyed at the cost of my being an IT geek.&amp;nbsp; On the bright side I can now play Texas Hold Em.&amp;nbsp; (Deep sarcasm.)&lt;/P&gt;
&lt;P&gt;Let this be a warning to those of you who want to develop and install all of SSRS&amp;nbsp;from home on your own PC.&lt;/P&gt;
&lt;P&gt;Here are a couple of links that I found on the subject:&lt;/P&gt;
&lt;P&gt;&lt;A href="http://www.iis.net/articles/view.aspx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/IIS7-Features-and-Windows-Vista-Editions"&gt;http://www.iis.net/articles/view.aspx/IIS7/Deploy-an-IIS7-Server/Installing-IIS7/IIS7-Features-and-Windows-Vista-Editions&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;&lt;A href="http://support.microsoft.com/default.aspx/kb/920201/en-us"&gt;http://support.microsoft.com/default.aspx/kb/920201/en-us&lt;/A&gt;&lt;/P&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2397" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSRS/default.aspx" /><category term="VISTA ULTIMATE" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/VISTA+ULTIMATE/default.aspx" /><category term="IIS 7" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/IIS+7/default.aspx" /><category term="SQL SERVER" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SQL+SERVER/default.aspx" /><category term="VISTA PREMIUM" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/VISTA+PREMIUM/default.aspx" /><category term="VISTA BUSINESS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/VISTA+BUSINESS/default.aspx" /></entry><entry><title>Simple Stored Procedure to return data to a SSRS Report from Oracle</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/27/simple-stored-procedure-to-return-data-to-a-ssrs-report-from-oracle.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/27/simple-stored-procedure-to-return-data-to-a-ssrs-report-from-oracle.aspx</id><published>2007-08-27T22:09:00Z</published><updated>2007-08-27T22:09:00Z</updated><content type="html">&lt;p&gt;If you are like me, SQL Server is a breeze to write a Stored Procedure against and Oracle isn't as intuitive.&amp;nbsp; I had a report that simply needed to do the following:&lt;/p&gt;&lt;p&gt;1. Run a query in Oracle.&lt;/p&gt;&lt;p&gt;2. Return the data to Reporting Services so that it could report on it.&lt;/p&gt;&lt;p&gt;3. I couldn't link through SQL Server.&lt;/p&gt;&lt;p&gt;Its really simple code, but different than the way we do it on the SQL
Server side.&amp;nbsp; In SQL Server you just do a Select at the end of your SP
and it gets presented to Reporting Services, but Oracle needs to use a
Cursor. I scoured the internet real quick to find an example SP like I can find for all kinds of things in regards to SQL Server, but not Oracle.&amp;nbsp; &lt;/p&gt;&lt;p&gt;So, eventually I figured out I needed to pass SSRS a SYS_REFCURSOR and then figured out this simple little SP.&lt;br&gt;&lt;/p&gt;&lt;p&gt;Anyway, if this saves someone 20 minutes of googling, I thought I'd post it.&amp;nbsp; There is nothing revolutionary about it.&lt;br&gt;&lt;/p&gt;&lt;p&gt;CREATE OR REPLACE PROCEDURE SCHEMA_NAME.USP_RPT_SP_NAME (PARAM1 IN DATE, PARAM2 IN DATE, p_recordset1 OUT SYS_REFCURSOR) AS&lt;br&gt;BEGIN&lt;br&gt;&amp;nbsp; OPEN p_recordset1 FOR&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; SELECT * from TABLE_NAME&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; WHERE ADDDTTM between PARAM1 and PARAM2;&lt;br&gt;END USP_RPT_SP_NAME;&lt;br&gt;/&lt;br&gt;&lt;/p&gt;&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2391" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="ORACLE" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/ORACLE/default.aspx" /><category term="SSRS" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SSRS/default.aspx" /><category term="Stored Procedure" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/Stored+Procedure/default.aspx" /><category term="CURSOR" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/CURSOR/default.aspx" /></entry><entry><title>Dynamic ORACLE SP for calling a linked server database environment based on a parameter.</title><link rel="alternate" type="text/html" href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/27/dynamic-sp-for-calling-a-linked-server-database-environment-based-on-a-parameter.aspx" /><id>http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/27/dynamic-sp-for-calling-a-linked-server-database-environment-based-on-a-parameter.aspx</id><published>2007-08-27T21:41:00Z</published><updated>2007-08-27T21:41:00Z</updated><content type="html">I haven't posted anything here yet on this blog, so I thought I'd pull some lesson I learned a while back and use it as a post. If it helps you; great, if not, no worries. The problem I tried to solve involved 5 or 6 Oracle environments that need to have data pulled from them into SQL Server. The user knows what environment they want to query off of, so this SP gives them the flexibility they need. I actually used this as a SP for a SSRS report. I hide the Oracle Parameter in SSRS so that only the...(&lt;a href="http://sqlblogcasts.com/blogs/greenmtnsun/archive/2007/08/27/dynamic-sp-for-calling-a-linked-server-database-environment-based-on-a-parameter.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblogcasts.com/aggbug.aspx?PostID=2390" width="1" height="1"&gt;</content><author><name>greenmtnsun</name><uri>http://sqlblogcasts.com/members/greenmtnsun.aspx</uri></author><category term="ORACLE" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/ORACLE/default.aspx" /><category term="TSQL" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/TSQL/default.aspx" /><category term="SP" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/SP/default.aspx" /><category term="LINKED SERVER" scheme="http://sqlblogcasts.com/blogs/greenmtnsun/archive/tags/LINKED+SERVER/default.aspx" /></entry></feed>