<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>IT Diligent</title>
	<atom:link href="http://www.itdiligent.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.itdiligent.com</link>
	<description>A Repository of IT related articles and How to solutions</description>
	<lastBuildDate>Wed, 30 Jun 2010 07:16:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=abc</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>.NET Framework FAQ &#8211; Part 1</title>
		<link>http://www.itdiligent.com/2010/06/net-framework-faq-part-1/</link>
		<comments>http://www.itdiligent.com/2010/06/net-framework-faq-part-1/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 07:16:55 +0000</pubDate>
		<dc:creator>dasarisrikanth</dc:creator>
				<category><![CDATA[.NET Framework]]></category>
		<category><![CDATA[FAQ]]></category>
		<category><![CDATA[.Net]]></category>

		<guid isPermaLink="false">http://www.itdiligent.com/?p=362</guid>
		<description><![CDATA[
			
				
			
		
What is .Net Framework?

It is an environment for developing, building and executing desktop applications, web applications and web services.
 It provides a language-neutral development &#38; execution environment
 It ensures that an application would not be able to access memory that is not authorized to access.
 It provides services to run &#8220;managed&#8221; applications.
 It handles the [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fnet-framework-faq-part-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fnet-framework-faq-part-1%2F&amp;source=itdiligent&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2 style="text-align: justify;">What is .Net Framework?</h2>
<ol style="text-align: justify;">
<li style="text-align: justify;">It is an environment for developing, building and executing desktop applications, web applications and web services.</li>
<li style="text-align: justify;"> It provides a language-neutral development &amp; execution environment</li>
<li style="text-align: justify;"> It ensures that an application would not be able to access memory that is not authorized to access.</li>
<li style="text-align: justify;"> It provides services to run &#8220;<em><strong>managed</strong></em>&#8221; applications.</li>
<li style="text-align: justify;"> It handles the garbage collection.</li>
<li style="text-align: justify;"> It provides different programming models for windows based application and web based applications.</li>
<li style="text-align: justify;"> It provides an event driven programming model for building Windows device Drivers.</li>
<li style="text-align: justify;"> It uses <em><strong>DCOM </strong></em>for making transaction between managed and <em><strong>unmanaged </strong></em>code.</li>
</ol>
<h2 style="text-align: justify;">What is CLR and the benefits of the CLR?</h2>
<p style="text-align: justify;"><em><strong>CLR </strong></em>is nothing but <em><strong>Common Language Runtime </strong></em>which provides the runtime environment for the managed code. This is the main part of the .Net Framework. The managed code will be executed under the <em><strong>CLR</strong></em>. The following are the benefits of the <em><strong>CLR</strong></em>.</p>
<ol style="text-align: justify;">
<li> CLR is responsible for the <em><strong>type safety</strong></em>.</li>
<li> It provides core services such as Memory management, thread management and remoting.</li>
<li> CLR ensures that the application would not access the memory that is not authorized to access.</li>
<li> It launches separate process for every application running under it.</li>
<li>It will free the resources using Garbage Collection.<br />
<span id="more-362"></span></li>
</ol>
<h2 style="text-align: justify;">What is CTS?</h2>
<p style="text-align: justify;"><em><strong>CTS </strong></em>is nothing but <em><strong>Common Type System </strong></em>which provides the common data types that can be used by managed code. It facilitates the cross language integration, type safety and high performance code execution.</p>
<h2 style="text-align: justify;">What is CLS?</h2>
<p style="text-align: justify;"><strong>CLS </strong>is nothing but the <em><strong>Common Language Specification </strong></em>which defines the rules and standards for the languages in order to compatible with other .Net languages. This enables the C# developers to inherirt from classes defined in VB.NET or other .Net Compatible languages.</p>
<h2 style="text-align: justify;">What is Managed Code?</h2>
<p style="text-align: justify;">The .Net Framework provides a runtime environment called the Common Language Runtime, which manages the execution of the code and provides services that make the development process easier. Compilers and tools expose the run-time&#8217;s functionality and enable you to write code that benefits from this managed executon environment. The code that runs within the Common Language Runtime is called managed code.</p>
<h2 style="text-align: justify;">What is MSIL?</h2>
<p style="text-align: justify;">When the code is compiled, the compiler translates your code into <em><strong>Microsoft intermediate language (MSIL)</strong></em>. The common language runtime includes a <em><strong>JIT compiler </strong></em>for converting this MSIL then to native code. MSIL contains metadata that is the key to cross language interoperability. Since this metadata is standardized across all .NET languages, a program written in one language can understand the metadata and execute code, written in a different language. MSIL includes instructions for loading, storing, initializing, and calling methods on objects, as well as instructions for arithmetic and logical operations, control flow, direct memory access, exception handling, and other operations.</p>
<h2 style="text-align: justify;">What is JIT Compilation?</h2>
<ol style="text-align: justify;">
<li>JIT compiler compiles instructions into machine code at runtime.</li>
<li>The Code compiler by the <em><strong>JIT </strong></em>compiler runs under <em><strong>CLR</strong></em>.</li>
<li>The instructions compiled by <em><strong>JIT </strong></em>compilers are written in Native code.</li>
</ol>
<h2 style="text-align: justify;">What is Portable Execution?</h2>
<p style="text-align: justify;"><em><strong>PE </strong></em>is the file format defining the structure that all executable files(<em><strong>EXE</strong></em>) and Dynamic Link Libraries (<em><strong>DLL</strong></em>) must use to allow them to be loaded and executed by Windows. PE is derived from the Microsoft Object File Format (COFF). The  EXE and DLL files created using the .NET Framework obey the PE/COFF formats and also add additional header and data sections to the files that are only used by the CLR.</p>
<h2 style="text-align: justify;">What is assembly?</h2>
<p style="text-align: justify;">It is the smallest deployable unit. Each assembly has only one entry point &#8211; Main(), WinMain() or DLLMain()</p>
<h2 style="text-align: justify;">What are the contents of assembly?</h2>
<p style="text-align: justify;">A static assembly can consist of four elements:</p>
<ol style="text-align: justify;">
<li style="text-align: justify;"> <em><strong>Assembly manifest </strong></em>- Contains the assembly metadata. An assembly manifest contains the information about the identity and version of the assembly. It also contains the information required to resolve references to types  and resources.</li>
<li style="text-align: justify;"><em><strong>Type metadata </strong></em>- Binary information that describes a program.</li>
<li style="text-align: justify;"><em><strong>Microsoft intermediate language (MSIL) code</strong></em>.</li>
</ol>
<h2 style="text-align: justify;">What is Metadata?</h2>
<p style="text-align: justify;">Metadata is a binary information that is stored in separate section of PE assembly. Every type and member defined in an assembly is described within metadata. Whne code is executed, the .Net runtime loads metadata in memory. The kind of information stored in metadata includes: Attributes of types, Name, Visibility, base class of types, member methods, member fields, properties..etc. Metadata allows self-describing files and allows for language independence and interoperability.</p>
<h2 style="text-align: justify;">What are the different types of assembly?</h2>
<p style="text-align: justify;">A. Assemblies are three types.</p>
<ol style="text-align: justify;">
<li> <em><strong>Private </strong></em>- installed in the installation directory of an application and is accessible to that application only.</li>
<li> <em><strong>Shared or public </strong></em>- Shared by multiple applications. A shared assembly has a strong name and is installed in the GAC.</li>
<li> <em><strong>Satelite Assemblies </strong></em>- Often used to deploy language-specific resources for an application.</li>
</ol>
<h2 style="text-align: justify;">What is a dynamic assembly?</h2>
<p style="text-align: justify;">A dynamic assembly is created dynamically at run time when an application requires the types within these  assemblies.</p>
<h2 style="text-align: justify;">What are the namespaces used to create the dynamic assembly?</h2>
<p style="text-align: justify;"><em><strong>System.CodeDom<br />
System.Reflection.Emit</strong></em></p>
<h2 style="text-align: justify;">What is a strong name?</h2>
<p style="text-align: justify;">You need to assign a strong name to an assembly to place it in the <em><strong>GAC </strong></em>and make it globally accessible. A strong name consists of a name that consists of an assembly&#8217;s identity (text name, version number, and culture information), a  public key and a digital signature generated over the assembly.  The .NET Framework provides a tool called the Strong Name Tool (<em><strong>Sn.exe</strong></em>), which allows verification and key pair and signature generation.</p>
<h2 style="text-align: justify;">What is GAC? What are the steps to create an assembly and add it to the GAC?</h2>
<p style="text-align: justify;">The global assembly cache (GAC) is a machine-wide code cache that stores assemblies specifically designated to be shared by several applications on the computer. You should share assemblies by installing them into the global assembly cache only when you need to.<br />
Steps</p>
<ol style="text-align: justify;">
<li> Create a strong name using sn.exe tool eg: <em><strong>sn -k mykey.snk</strong></em></li>
<li> in <em><strong>AssemblyInfo.cs</strong></em>, add the strong name <em><strong>eg: [assembly: AssemblyKeyFile("mykey.snk")]</strong></em></li>
<li> recompile project, and then install it to GAC in two ways :</li>
<li> drag &amp; drop it to assembly folder (C:\WINDOWS\assembly OR C:\WINNT\assembly) (shfusion.dll tool)</li>
<li> <em><strong>gacutil -i abc.dll</strong></em></li>
</ol>
<h2 style="text-align: justify;">What is the caspol.exe tool used for?</h2>
<p style="text-align: justify;">The <em><strong>caspol </strong></em>tool grants and modifies permissions to code groups at the user policy, machine policy, and enterprise  policy levels.</p>
<h2 style="text-align: justify;">What is Ilasm.exe used for?</h2>
<p style="text-align: justify;"><em><strong>Ilasm.exe </strong></em>is a tool that generates PE files from MSIL code. You can run the resulting executable to determine whether the MSIL code performs as expected.</p>
<h2 style="text-align: justify;">What is Ildasm.exe used for?</h2>
<p style="text-align: justify;"><em><strong>Ildasm.exe </strong></em>is a tool that takes a PE file containing the MSIL code as a parameter and creates a text file that contains managed code.</p>
<h2 style="text-align: justify;">What is the ResGen.exe tool used for?</h2>
<p style="text-align: justify;"><em><strong>ResGen.exe </strong></em>is a tool that is used to convert resource files in the form of .txt or .resx files to common language runtime binary .resources files that can be compiled into satellite assemblies.</p>
<h2 style="text-align: justify;">Which is the root of the .Net Framework type hierarchy?</h2>
<p style="text-align: justify;"><em><strong>System.Object</strong></em></p>
<h2 style="text-align: justify;">What is Application Domain?</h2>
<p style="text-align: justify;">Application domain is the boundary within which application runs. A process can contain multiple application domains.  Apllication domains provide an isolated environment to applications that is similar to the isolation  provided by processes. An application running inside one application domain cannot directly access the code running inside another application domain. To access the code running in another application domain, an application needs to use the proxy.</p>
<h2 style="text-align: justify;">Does .net Framework release memory for unmanaged resources?</h2>
<p style="text-align: justify;">Unmanaged resources are outside the scope of .Net CLR. They must be cleaned up explicitly by the programmer. Opening Files, Netwrok Connections..etc are the examples for this. The best way to dela with this is to encapsulate these managed resources in a .Net class and provide a Public Dispose method in it. Users of this class can call Dispose() method to explicitly release the resources.</p>
<h2 style="text-align: justify;">Is it possible control the Garbage Collection in C#.Net?</h2>
<p style="text-align: justify;">C#.Net garbage collection can be controlled using the GC framework class. It provides the method Collect() that can be used to trigger garbage collection in general or for a specific generation of objects. But this is not suggestable.</p>
<h2 style="text-align: justify;">What are the Types in .Net Framework CTS (Common Type system)?</h2>
<p style="text-align: justify;">These are two types.</p>
<p style="text-align: justify;"><strong>Value Types</strong></p>
<ol style="text-align: justify;">
<li> Built in Value Types (integer,bool..etc)</li>
<li> User-Defined Value Types (Structures)</li>
<li> Enumerations</li>
</ol>
<p style="text-align: justify;"><strong>Reference Types</strong></p>
<ol style="text-align: justify;">
<li> User Defined Classes</li>
<li> Interfaces</li>
<li> Arrays</li>
<li> Delegates</li>
</ol>
<h2 style="text-align: justify;">What is Side-By-Side execution?</h2>
<p style="text-align: justify;">Side-By-Side execution is the ability to store and execute multiple versions of an application or component on the same computer. This means that you can have multiple versions of applications and components on the same computer at the same time. Side-By-Side execution gives more control over what versions of a component an application uses, and what versions of the runtime an application uses. Different versions of the .Net Framework runtime can also execute Side-By-side.</p>
<h2 style="text-align: justify;">How does an AppDomain get created?</h2>
<p style="text-align: justify;">AppDomains are usually created by hosts. Examples of hosts are the Windows Shell, ASP.NET and IE. When you run a .NET application from the command-line, the host is the Shell. The Shell creates a new AppDomain for every application. AppDomains can also be explicitly created by .NET applications.</p>
<h2 style="text-align: justify;">What is difference between constants, readonly and, static ?</h2>
<p style="text-align: justify;"><em><strong>Constants</strong></em>: The value can’t be changed<br />
<em><strong>Read-only</strong></em>: The value will be initialized only once from the constructor of the class.<br />
<em><strong>Static</strong></em>: Value can be initialized once.</p>
<h2 style="text-align: justify;">What is namespace used for loading assemblies at run time and name the methods?</h2>
<p style="text-align: justify;"><em><strong>System.Reflection</strong></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.itdiligent.com/2010/06/net-framework-faq-part-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SSIS FAQ &#8211; Part 2</title>
		<link>http://www.itdiligent.com/2010/06/ssis-faq-part-2/</link>
		<comments>http://www.itdiligent.com/2010/06/ssis-faq-part-2/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 18:06:36 +0000</pubDate>
		<dc:creator>dasarisrikanth</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://www.itdiligent.com/?p=351</guid>
		<description><![CDATA[
			
				
			
		
Event handlers in SSIS?
Events of various types occur one after another from the time you start to execute a package till the time it completes successfully or otherwise. The OnError event, which is raised when an error occurs, is the default event in SSIS. In addition to the package, various components such as for loop, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fssis-faq-part-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fssis-faq-part-2%2F&amp;source=itdiligent&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2>Event handlers in SSIS?</h2>
<p style="text-align: justify;">Events of various types occur one after another from the time you start to execute a package till the time it completes successfully or otherwise. The <strong>OnError </strong>event, which is raised when an error occurs, is the default event in <strong>SSIS</strong>. In addition to the package, various components such as for loop, task host containers, etc. can raise events. Events can be raised by other executables such as <strong>For loop</strong>, and <strong>Task host containers</strong>. You can create a custom event handler that traps these errors for some useful purpose. The below are the available event handlers which are visible in the Package Design Event handlers Page.<br />
<a href="http://www.itdiligent.com/wp-content/uploads/2010/06/EventHand1.PNG"><img class="alignnone size-full wp-image-352" title="EventHand1" src="http://www.itdiligent.com/wp-content/uploads/2010/06/EventHand1.PNG" alt="EventHand1" width="327" height="249" /></a><br />
Containers in a package follow a hierarchy. If the event in a container is not handled, it can escalate the handling of the event to a container higher up in the hierarchy, quite like events on a web page which also have a container hierarchy. If there are no event handlers configured at any of the containers, the event never gets handled.<br />
<span id="more-351"></span></p>
<p>Like other objects in <strong>SSIS</strong>, event handlers need a name and a description. You may need to indicate whether or not the event handler runs and also indicate whether the package fails if the event handler fails; you may also indicate an execution result to return instead of the actual execution result for the event handler at run time.</p>
<p style="text-align: justify;">The Event Handler page can be displayed by clicking on the <strong>Event Handler tab</strong>. The top object for this page is the Package itself as shown with the default event, <strong>OnError</strong>. Of course there are other event handlers to choose from the drop-down list.</p>
<p style="text-align: justify;">A package is not the only object that can raise events. Objects contained in the package can also raise events. This can be seen by clicking on the drop-down for Executable in the above screenshot. In the next screenshot, Execute SQL Task, and Data Flow Task are both executables and have Event handlers associated with them, with which you can trap events.<br />
<a href="http://www.itdiligent.com/wp-content/uploads/2010/06/EventHand2.PNG"><img class="alignnone size-full wp-image-353" title="EventHand2" src="http://www.itdiligent.com/wp-content/uploads/2010/06/EventHand2.PNG" alt="EventHand2" width="536" height="527" /></a></p>
<h2>How to access the Package Level Variables in the Script Task Code?</h2>
<p><em><strong>Dts.Variables.Item(&#8221;&lt;&gt;&#8221;).Value</strong></em></p>
<h2>How to use a File System Task with a Source/Destination Variable?</h2>
<p style="text-align: justify;">Suppose there is a flat file named &#8220;MyFile.Year.Month.Day.txt&#8221;, with the Year, Month and Day portions of it changing constantly, that I want to move from a one folder to an another folder. This task is easy except when you take into consideration that every day the file name is different.</p>
<ol>
<li>Use the <strong>Script Task </strong>before the actual data transformation to locate the name of the file.<br />
First create the three package level variables with string type</p>
<ul>
<li> <em>ToFilename</em></li>
<li> <em>TrueFileName</em></li>
<li> <em>Unprocessed_location</em></li>
</ul>
</li>
<li>Enter the value of <em>Unprocessed_location </em>as the UNC path of the Unprocessed files. e.g <em>\\MyServer\MyFolder\</em>. make sure that last slash.</li>
<li>Drag and drop the <strong>script task </strong>to the <strong>control flow </strong>window.</li>
<li>Give a friendly name, and on the script tab, put in <em>TrueFileName</em>,<em>Unprocessed_location </em>as <em><strong>Readonly </strong></em>variables.</li>
<li>Enter the <em>ToFilename </em>as the <em><strong>ReadWrite </strong></em>Variable.</li>
<li>Click the Design Script and the following is the script code.</li>
<li>
<pre class="brush: vb;">
Imports System
Imports System.Data
Imports System.Math
Imports Microsoft.SqlServer.Dts.Runtime

Public Class ScriptMain

    Public Sub Main()

        Dim ToFileName As String

        ToFileName = CStr(Dts.Variables.Item(&quot;Unprocessed_location&quot;).Value) &amp; LTrim(CStr(Dts.Variables.Item(&quot;TrueFileName&quot;).Value))

        Dts.Variables.Item(&quot;ToFileName&quot;).Value = ToFileName

        Dts.TaskResult = Dts.Results.Success
    End Sub

End Class
</pre>
</li>
<li>Once <strong>Script task </strong>is done , close it and create the <strong>Flat File Connection manager</strong>.</li>
<li>You will have to put the literal path in the box titled &#8220;File name&#8221;.</li>
<li>Make sure a file should be there in the folder, otherwise create a file as per instruction in below.<br />
type in a line of text for the column headers separated by commas, as shown in the next paragraph<br />
<em>CustomerID, CompanyName, Address, City, PostalCode</em></li>
<li>Go to the properties of the Flat File Connection Manager, Click the Expressions Box and open the pop up window with ellipses.</li>
<li>Choose the connection string under the property and then click the ellipses in the new expression column. Choose the &#8220;<em><strong>@[User::ToFileName]</strong></em>&#8220;.</li>
<li>Then Click OK again.</li>
<li>Take the File System Task.</li>
<li>Click Edit in the right Click Menu.</li>
<li>Make sure <em><strong>IsSourcePathVariable = False</strong></em> and set the <em><strong>SourceConnection </strong></em>to your Flat File Connection.</li>
<li>Unfortunately, setting it to another variable doesn&#8217;t work unless the variable is a constant, never changing, and the value is filled in on the Variables tab.</li>
<li>Fortunately, the Destination doesn&#8217;t require the actual FileName, so assuming your &#8220;Processed&#8221; folder is always going to be in the same place, you just fill in your fully qualified UNC path in the value slot on the Variables tab.</li>
<li>Choose your method (Move File, Copy File, etc.) and click &#8220;Ok&#8221;.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.itdiligent.com/2010/06/ssis-faq-part-2/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>SSIS FAQ &#8211; Part 1</title>
		<link>http://www.itdiligent.com/2010/06/ssis-faq-part-1/</link>
		<comments>http://www.itdiligent.com/2010/06/ssis-faq-part-1/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 19:25:59 +0000</pubDate>
		<dc:creator>dasarisrikanth</dc:creator>
				<category><![CDATA[FAQ]]></category>
		<category><![CDATA[SSIS]]></category>

		<guid isPermaLink="false">http://www.itdiligent.com/?p=334</guid>
		<description><![CDATA[
			
				
			
		
What is SSIS?
SSIS stands for SQL Server Integration Services. This is an ETL (Extract, Transform, Load) tool. This is a new Data transformation standard for SQL Server 2005 and has replaced the old SQL Server data transformation services. This has many features compared to DTS. This is well designed for BI (Business Intelligence) purpose.
What is [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fssis-faq-part-1%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F06%2Fssis-faq-part-1%2F&amp;source=itdiligent&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<h2>What is SSIS?</h2>
<p style="text-align: justify;">SSIS stands for SQL Server Integration Services. This is an ETL (Extract, Transform, Load) tool. This is a new Data transformation standard for SQL Server 2005 and has replaced the old SQL Server data transformation services. This has many features compared to DTS. This is well designed for BI (Business Intelligence) purpose.</p>
<h2>What is DTS?</h2>
<p style="text-align: justify;">DTS is nothing but Data Transformation service which is available in SQL server 2000. DTS is a set of tools you can use to import, export, and transform heterogeneous data between one or more data sources, such as Microsoft SQL Server, Microsoft Excel, or Microsoft Access. Connectivity is provided through OLE DB, an open-standard for data access. ODBC (Open Database Connectivity) data sources are supported through the OLE DB Provider for ODBC.</p>
<p>You create a DTS solution as one or more packages. Each package may contain an organized set of tasks that define work to be performed, transformations on data and objects, work flow constraints that define task execution, and connections to data sources and destinations. DTS packages also provide services, such as logging package execution details, controlling transactions, and handling global variables.</p>
<p>These tools are available for creating and executing DTS packages:</p>
<ul style="text-align: justify;">
<li> The Import/Export Wizard is for building relatively simple DTS packages, and supports data migration and simple transformations.</li>
<li>The DTS Designer graphically implements the DTS object model, allowing you to create DTS packages with a wide range of functionality.</li>
<li>DTSRun is a command-prompt utility used to execute existing DTS packages.</li>
<li>DTSRunUI is a graphical interface to DTSRun, which also allows the passing of global variables and the generation of command lines.</li>
<li>SQLAgent is not a DTS application; however, it is used by DTS to schedule package execution.</li>
<li style="text-align: justify;">Using the DTS object model, you also can create and run packages programmatically, build custom tasks, and build custom transformations.</li>
</ul>
<h2 style="text-align: justify;">Can we use the old DTS packages in SSIS?</h2>
<p style="text-align: justify;">DTS packages from SQL Server 2000 can be used with SQL Server 2005, however a separate tool must be installed to encompass that functionality.  Also, in the SQL Server Management Studio, any DTS related information can be found in the Object Browser under <em><strong>Management -&gt; Legacy</strong></em>.<br />
The two main differences you need to be aware of with SSIS is that ActiveX has been re-written and Dynamic Properties is no longer supported.  If you do a direct upgrade of your DTS package from SQL Server 2000, any Dynamic Properties tasks will be ported over as stubs (non-working programs) and your ActiveX scripts will not work and need to be re-written.<br />
<span id="more-334"></span></p>
<h2 style="text-align: justify;">What is the difference between DTS and SSIS?</h2>
<p style="text-align: justify;">SSIS is huge and it offers more than DTS.Internal architect of SSIS is entirely different than DTS and mainly designed to achieve high degree of parallelism and to improve performance. In Microsoft Business Intelligence, Integration services re coupled with Analysis and reporting services. It could process thet data for Dimension processing and Partition processing.</p>
<p style="text-align: justify;">In SQL Server 7.0 and 2000, DTS provided only a limited set of tasks and transformations. It was a challenge for the developer to construct packages with complex and repeating workflows, and to apply different types of column-level transformations to data. The graphical designer that was used to create packages combined the workflow and data flow on a single design surface and offered limited control flow options.</p>
<p style="text-align: justify;">In SQL Server 2005, Microsoft has designed and built a completely new ETL product—SQL Server 2005 Integration Services (SSIS). Integration Services solves many of the difficulties and limitations of DTS. SSIS enhancements include a new extensible architecture, a new package designer, and a multitude of new tasks, looping structures, and transformations and also improvements in package deployment, management, and performance.</p>
<p style="text-align: justify;">Integration Services includes graphical tools and wizards for building and debugging packages; tasks for performing workflow functions such as SQL command execution, FTP operations, and e-mail messaging; data sources and destinations for extracting and loading data; transformations for cleaning, aggregating, merging, and copying data; a management service for administering Integration Services; and application programming interfaces (APIs) for programming the Integration Services object model.</p>
<p style="text-align: justify;">The following are the notable differences</p>
<p style="text-align: justify;"><strong>DTS</strong>: Message Boxes in ActiveX scripts<br />
<strong>SSIS</strong>: Message Boxes In Script Tasks</p>
<p style="text-align: justify;"><strong>DTS</strong>: Dynamic Properties + ActiveX scripts<br />
<strong>SSIS</strong>: Configurations + PropertyExpressions</p>
<p style="text-align: justify;"><strong>DTS</strong>: No deployment Wizard<br />
<strong>SSIS</strong>: Deployment wizards are there</p>
<p style="text-align: justify;"><strong>DTS</strong>: Limited Set of Transformations<br />
<strong>SSIS</strong>: Huge number of Transformations are available</p>
<p style="text-align: justify;"><strong>DTS</strong>: No BI Functionality<br />
<strong>SSIS</strong>: Complete BI Functionality</p>
<p style="text-align: justify;"><strong>DTS</strong>: Not Integrated with .Net<br />
<strong>SSIS</strong>: Integrated with .Net</p>
<h2 style="text-align: justify;">What is SSIS Package?</h2>
<p style="text-align: justify;">A package is nothing but a collection of work items (or) tasks that execute in an orderly fashion. The SSIS runtime engine and its complementary programs actually run your SSIS packages. The engine saves the layout of your packages and manages the logging, debugging, configuration, connections, and transactions. Additionally, it manages handling your events when one is raised in your package.<br />
The runtime executables provide the following functionality to a package.</p>
<p><em><strong>Containers</strong></em>: Provide structure and scope to your package<br />
<em><strong>Tasks</strong></em>: Provide the functionality to your package<br />
<em><strong>Event Handlers</strong></em>: Respond to raised events in your package<br />
<em><strong>Precedence Constraints</strong></em>: Provide ordinal relationship between various items in your package.</p>
<h2 style="text-align: justify;">Explanin the Architecture of the SSIS?</h2>
<p style="text-align: justify;">The SSIS architecture consists of four main components:</p>
<p><em>The SSIS Service<br />
The SSIS runtime engine and the runtime executables<br />
The SSIS data flow engine and the data flow components<br />
The SSIS clients</em></p>
<div id="attachment_338" class="wp-caption alignnone" style="width: 612px"><em><em><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/SSIS_Arch.png"><img class="size-full wp-image-338" title="SSIS_Arch" src="http://www.itdiligent.com/wp-content/uploads/2010/06/SSIS_Arch.png" alt="SSIS Architecture" width="602" height="907" /></a></em></em><p class="wp-caption-text">SSIS Architecture</p></div>
<p><em> </em><br />
The SSIS Service handles the operational aspects of SSIS. It is a Windows service that is installed when you install the SSIS component of SQL Server 2005, and it tracks the execution of packages and helps with the storage of the packages.</p>
<h2 style="text-align: justify;">What are the Designer Panes available in BIDS for SSIS package?</h2>
<p style="text-align: justify;">The Package Designer contains four tabs:<br />
<em>Control Flow<br />
Data Flow<br />
Event Handlers<br />
Package Explorer</em><br />
One additional tab, <em>Progress</em>, also appears when you execute packages.</p>
<h2 style="text-align: justify;">What is Precedence Constraints in SSIS?</h2>
<p style="text-align: justify;">Precedence constraints direct the tasks to execute in a given order. They direct the workflow of your SSIS package based on given conditions. Constraint values are the type of precedence constraint.<br />
There are three types of constraint values:</p>
<p><em><strong>Success</strong></em>: A task that&#8217;s chained to another task with this constraint will execute only if the prior task completes successfully.<br />
<em><strong>Completion</strong></em>: A task that&#8217;s chained to another task with this constraint will execute if the prior task completes. Whether the prior task succeeds or fails is inconsequential.<br />
<em><strong>Failure</strong></em>: A task that&#8217;s chained to another task with this constraint will execute only if the prior task fails to complete. This type of constraint is usually used to notify an operator of a failed event or write bad records to an exception queue.</p>
<div id="attachment_339" class="wp-caption alignnone" style="width: 515px"><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/Precedence-Constraint.png"><img class="size-full wp-image-339" title="Precedence Constraints" src="http://www.itdiligent.com/wp-content/uploads/2010/06/Precedence-Constraint.png" alt="Precedence Constraints" width="505" height="424" /></a><p class="wp-caption-text">Precedence Constraints</p></div>
<h2 style="text-align: justify;">What is conditional expressions?</h2>
<p style="text-align: justify;">An expression allows you to evaluate whether certain conditions have been met before the task is executed and the path followed. The constraint evaluates only the success or failure of the previous task to determine whether the next step will be executed.</p>
<p style="text-align: justify;">The SSIS developer can set the conditions by using evaluation operators. Once you create a precedence constraint, you can set the EvalOp property to any one of the following options:</p>
<p style="text-align: justify;"><em><strong>Constraint</strong></em>: This is the default setting and specifies that only the constraint will be followed in the workflow.<br />
<em><strong>Expression</strong></em>: This option gives you the ability to write an expression (much like VB.NET) that allows you to control the workflow based on conditions that you specify.<br />
<em><strong>ExpressionAndConstraint</strong></em>: Specifies that both the expression and the constraint must be met before proceeding.<br />
<em><strong>ExpressionOrConstraint</strong></em>: Specifies that either the expression or the constraint can be met before proceeding.</p>
<h2 style="text-align: justify;">What is Container? what are the Containers are available?</h2>
<p style="text-align: justify;">Containers are objects that help SSIS provide structure to one or more tasks. They can help you loop through a set of tasks until a criterion has been met or can help you group a set of tasks logically. Containers can also be nested, containing other containers. Containers are set in the Control Flow tab in the Package Designer.<br />
There are four types of containers in the Control Flow tab:<br />
<em><strong>Task Host<br />
Sequence<br />
For Loop<br />
Foreach containers</strong></em>.</p>
<h2 style="text-align: justify;">What is Source and What are the Sources are available in SSIS Data Flow task?</h2>
<p style="text-align: justify;">A source is where you specify the location of your source data.<br />
<em>1. OLE DB Source<br />
2. Excel Source<br />
3. Flat file Source<br />
4. Raw file Source<br />
5. XML Source<br />
6. Data Reader Source</em></p>
<h2 style="text-align: justify;">What is Destination and What are the Destinations are available in SSIS Data Flow task?</h2>
<p style="text-align: justify;">Inside the data flow, destinations accept the data from the data sources and from the transformations.<br />
<em>1. Data Reader Destination<br />
2. Excel Destination<br />
3. Flat file Destination<br />
4. OLE DB Destination<br />
5. Raw file Destination<br />
6. Recordset destination<br />
7. SQL Server and Mobile destination</em></p>
<h2 style="text-align: justify;">What is Transformation and What are the transforamtions are available in SSIS Data Flow task?</h2>
<p style="text-align: justify;">Transformations are key components to the data flow that transform the data to a desired format as you move from step to step.<br />
<em>1. Aggregate<br />
2. Audit<br />
3. Character Map<br />
4. Conditional Split<br />
5. Copy Column<br />
6. Data Conversion<br />
7. Data Mining Query<br />
8. derived Column<br />
9. Export Column<br />
10. Fuzzy Grouping and Lookup<br />
11. Import  Column<br />
12. Lookup<br />
13. Merge<br />
14. Merge Join<br />
15. Multicast<br />
16. OLE DB Command<br />
17. Percentage and Row Sampling<br />
18. Pivot and Unpivot<br />
19. Row Count<br />
20. Script Component<br />
21. Slowly Changing Dimension<br />
22. Sort<br />
23. Term Extraction and Lookup<br />
24. Union All</em></p>
<h2 style="text-align: justify;">What is Connection Manager?</h2>
<p style="text-align: justify;">there is a Connection Managers tab at the bottom of your Package Designer pane. This tab contains a list of data connections that both control flow and data flow tasks can use. Whether the connection is an FTP address or a connection to an Analysis Services server, you&#8217;ll see a reference to it here. These connections can be referenced as either source or targets in any of the operations and can connect to relational or Analysis Services databases, flat files, or other data sources.</p>
<p>Most sources will point to the Connection Manager in SSIS. By pointing to the Connection Manager, you can reuse connections throughout your package, because you need only change the connection in one place.Like sources, destinations are managed through the Connection Manager.</p>
<h2>What is UDL?</h2>
<p style="text-align: justify;">UDL is nothing but Universal Data link files which will allow us to make our DTS package portable. The UDLs can be useful for representing connections to SQL server; and when moving that DTS package from one Environment to another or one server to another, simply edit the UDL file so that it points to the new SQL server. This allows us to move packages freely with out us having to edit the packages. We just need to edit the UDL files. To get this setup working, you simply need to store your UDL files in standard folders on your server.</p>
<h2>Is UDL available in SSIS?</h2>
<p>NO</p>
<h2>What is Package Portability? How can we achieve that?</h2>
<p style="text-align: justify;">Package Portability is nothing but, make sure the package should work if we move the package from one location to another location or one server to another server. If we moved the package the connection sources, destinations may change.So we need to again change the package configuration settings for the deployment purpose. To avoid all these confusions, we can use the Package Configuration files for the configuration settings. Now if we move the package from one place to another place we don&#8217;t need to modify the package, simply we can edit the configuration package.</p>
<h2>How can we create the package configuration file in SSIS package?</h2>
<p style="text-align: justify;">SSIS provides the following package configuration types.</p>
<ol style="text-align: justify;">
<li><em><strong>XML Configuration File </strong></em>-  An XML file which containing the configuration information.</li>
<li><em><strong>Environment Variable </strong></em>-  An environment variable contains the configuration information.</li>
<li><em><strong>Registry Entry </strong></em>- A registry entry contains  the configuration information.</li>
<li><em><strong>Parent Package </strong></em>Variable &#8211; A variable in the package contains the configuration. This configuration type is typically used to update properties in child packages.</li>
<li> <em><strong>SQL server </strong></em>- A table in a SQL server database contains the configuration.</li>
</ol>
<p style="text-align: justify;">I am giving a small example for creating a XML Configuration File.</p>
<p style="text-align: justify;">Creating XML Configuration file.<br />
<strong>1.</strong> In the &#8220;Control Flow&#8221; tab, right click on the design surface and select the &#8220;Package configurations&#8221; from the pop-up menu.</p>
<p style="text-align: justify;"><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_1.gif"><img class="alignnone size-full wp-image-344" title="ssis_1" src="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_1.gif" alt="ssis_1" width="187" height="389" /></a></p>
<p style="text-align: justify;"><strong>2.</strong> Tick the check box “Enable package configurations”</p>
<p style="text-align: justify;"><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_2.gif"><img class="alignnone size-full wp-image-345" title="ssis_2" src="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_2.gif" alt="ssis_2" width="560" height="474" /></a><br />
<strong>3.</strong> Click the “Add…” button, to open the “Package Configuration Wizard”<br />
<strong>4.</strong> In the “Configuration Type” combo box select “XML Configuration File”<br />
<strong>5.</strong> Click “Browse…” to select a location for the XML configuration file<br />
<strong>6.</strong> Specify a file name in the “Select Configuration File Location” dialog box and click Save.</p>
<p style="text-align: justify;"><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_3.gif"><img class="alignnone size-full wp-image-346" title="ssis_3" src="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_3.gif" alt="ssis_3" width="493" height="442" /></a><br />
<strong>7.</strong> Click “Next” in the package configuration wizard<br />
<strong>8.</strong> In the “Objects” tree structure, tick the objects for which you want to generate the configuration file, and click “Next”<br />
<strong>9.</strong> Provide a name for this configuration and click “Finish”.</p>
<p style="text-align: justify;"><a href="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_5.gif"><img class="alignnone size-full wp-image-347" title="ssis_5" src="http://www.itdiligent.com/wp-content/uploads/2010/06/ssis_5.gif" alt="ssis_5" width="493" height="442" /></a></p>
<p style="text-align: justify;">Once a configuration file is generated for a connection, it can be reused in all other SSIS packages. This XML configuration file can be edited in Notepad or any XML editor, to change the server or database names. Once the configuration file is changed to point to a new server/database, the change will reflect in all SSIS packages that are using this configuration file.</p>
<p style="text-align: justify;">The configuration will be as below..</p>
<pre class="brush: xml;">
&lt;DTSConfiguration&gt;
	&lt;Configuration ConfiguredType=&quot;Property&quot; Path=&quot;\Package.Connections[SERVERNAMEdbname].Properties[ConnectionString]&quot; ValueType=&quot;String&quot;&gt;
  		&lt;ConfiguredValue&gt;Data Source=[SERVERNAME];Initial Catalog=[DATABASENAME];Provider=SQLNCLI.1;Integrated Security=SSPI;Auto Translate=False;&lt;/ConfiguredValue&gt;
  	&lt;/Configuration&gt;
&lt;/DTSConfiguration&gt;
</pre>
<h2>How to logging in SSIS?</h2>
<ol>
<li style="text-align: justify;">On the SSIS menu, click Logging.</li>
<li style="text-align: justify;">In the Configure SSIS Logs dialog box, in the Containers pane, make sure that the topmost object, which represents the Lesson 4 package, is selected.</li>
<li style="text-align: justify;">On the Providers and Logs tab, in the Provider type box, select SSIS log provider for Text files, and then click Add.Integration Services adds a new Text File log provider to the package with the default name SSIS log provider for text files. You can now configure the new log provider.</li>
<li style="text-align: justify;">In the Name column, type Log File Name.</li>
<li style="text-align: justify;"> Optionally, modify the Description.</li>
<li style="text-align: justify;">In the Configuration column, click &lt;New Connection&gt; to specify the destination to which the log information is written.In the File Connection Manager Editor dialog box, for Usage type, select Create file, and then click Browse. By default, the Select File dialog box opens the project folder, but you can save log information to any location.</li>
<li style="text-align: justify;">In the Select File dialog box, in the File name box type TutorialLog.log, and click Open.</li>
<li style="text-align: justify;">Click OK to close the File Connection Manager Editor dialog box.</li>
<li style="text-align: justify;">In the Containers pane, expand all nodes of the package container hierarchy, and then clear all check boxes, including the Extract Sample Currency Data check box. Now select the check box for Extract Sample Currency Data to get only the events for this node.<br />
Note:If the state of the Extract Sample Currency Data check box is dimmed instead of selected, the task uses the log settings of the parent container and you cannot enable the log events that are specific to the task.</li>
<li style="text-align: justify;">On the Details tab, in the Events column, select the PipelineExecutionPlan and PipelineExecutionTrees events.</li>
<li style="text-align: justify;">Click Advanced to review the details that the log provider will write to the log for each event. By default, all information categories are automatically selected for the events you specify.</li>
<li style="text-align: justify;">Click Basic to hide the information categories.</li>
<li style="text-align: justify;">On the Provider and Logs tab, in the Name column, select Lesson 4 Log File. Once you have created a log provider for your package, you can optionally deselect it to temporarily turn off logging, without having to delete and re-create a log provider.</li>
<li style="text-align: justify;">Click OK.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.itdiligent.com/2010/06/ssis-faq-part-1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Solution for &#8220;System.Security.Policy.PolicyException: Required permissions cannot be acquired&#8221;</title>
		<link>http://www.itdiligent.com/2010/03/solution-for-system-security-policy-policyexception-required-permissions-cannot-be-acquired/</link>
		<comments>http://www.itdiligent.com/2010/03/solution-for-system-security-policy-policyexception-required-permissions-cannot-be-acquired/#comments</comments>
		<pubDate>Mon, 29 Mar 2010 09:45:22 +0000</pubDate>
		<dc:creator>dasarisrikanth</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[Enterprise Library]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[hosting]]></category>

		<guid isPermaLink="false">http://www.itdiligent.com/?p=326</guid>
		<description><![CDATA[
			
				
			
		
This bug is generally visible at the deployment time for ASP.Net 2.0 applications which is built on the Enterprise Library 2.0 (Jan 2006). Specially this will occur when we are deploying in shared hosting (eg: godaddy..etc). The error message screen shot is given below.
In the internet everybody suggested to put the &#60;trust level=&#8221;Low&#8221; originUrl=&#8221;" /&#62; [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F03%2Fsolution-for-system-security-policy-policyexception-required-permissions-cannot-be-acquired%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.itdiligent.com%2F2010%2F03%2Fsolution-for-system-security-policy-policyexception-required-permissions-cannot-be-acquired%2F&amp;source=itdiligent&amp;style=compact" height="61" width="50" /><br />
			</a>
		</div>
<p style="text-align: justify;">This bug is generally visible at the deployment time for ASP.Net 2.0 applications which is built on the Enterprise Library 2.0 (Jan 2006). Specially this will occur when we are deploying in shared hosting (eg: godaddy..etc). The error message screen shot is given below.</p>
<div id="attachment_327" class="wp-caption alignnone" style="width: 310px"><a href="http://www.itdiligent.com/wp-content/uploads/2010/03/exception.JPG"><img class="size-medium wp-image-327" title="exception" src="http://www.itdiligent.com/wp-content/uploads/2010/03/exception-300x158.jpg" alt="Exception Message" width="300" height="158" /></a><p class="wp-caption-text">Exception Message</p></div>
<p style="text-align: justify;">In the internet everybody suggested to put the <em>&lt;trust level=&#8221;Low&#8221; originUrl=&#8221;" /&gt;</em> in the <em><strong>web.config </strong></em>file. But that will not work.</p>
<p style="text-align: justify;">Actually the problem is that the applications that are built using the <em><strong>Enterprise Library – January 2006 </strong></em>and that run on the Microsoft .NET Framework 2.0 require use of the <em><strong>full trust security level</strong></em>. Enterprise Library – January 2006 was designed for use in environments where it can run with <em><strong>full trust permissions</strong></em>. Some features in Enterprise Library use various .NET capabilities, such as accessing performance counters and the Windows Event Log, which require certain permissions that are not typically granted in partial trust. The demands for these permissions are made at the assembly level, which means that .NET will not allow the code to run at all, even though only a small number of calls and code paths may require these permissions.</p>
<p style="text-align: justify;">But many users wanted to use Enterprise Library in <em><strong>partial trust </strong></em>scenarios.  The hosting providers are giving the ASP.NET 2.0 environments using medium or custom security trust policies because Partial trust is a good choice for Web sites and other environments where  multiple applications are hosted on a server that supports multiple application  owners.</p>
<p style="text-align: justify;">To resolve these issues a patch was released for <em><strong>Enterprise Library &#8211; January 2006</strong></em>. That is <em><strong>Patch 2554 </strong></em>which changes the behavior of Enterprise Library – January 2006 so that you can run it under the partial  trust model by isolating permissions demands only to the code that really  requires it, and, where possible, support “graceful degradation” where these  permissions cannot be obtained. The permissions required to use Enterprise  Library are kept to a minimum.</p>
<p>To download the <em><strong>Patch 2554 </strong></em>, follow the below link</p>
<p><a title="Patch 2554" href="http://entlib.codeplex.com/releases/view/1339" target="_blank">http://entlib.codeplex.com/releases/view/1339</a></p>
<p style="text-align: justify;">After downloading the patch follow the below steps.</p>
<ol style="text-align: justify;"></ol>
<ul>
<li>Unzip the package , we can find the two folders &#8220;<em><strong>Src</strong></em>&#8220;, &#8220;<em><strong>UnitTests</strong></em>&#8220;.</li>
<li>Copy and overwrite the both folders in to the location <em><strong>&lt;&lt;Installation path&gt;&gt;/Microsoft Enterprise Library January 2006</strong></em>.</li>
<li>Run the batch file &#8220;<em><strong>BuildLibrary.bat</strong></em>&#8221; in that folder, so that the new source code will be compiled and the &#8216;<em>dll</em>&#8216; will generate.</li>
<li>Run the batch file &#8220;<em><strong>CopyAssemblies.bat</strong></em>&#8221; in that folder, so that all the &#8216;<em>dll</em>&#8216; files will be copied to the <em><strong>&lt;&lt;Installation path&gt;&gt;/Microsoft Enterprise Library January  2006/bin</strong></em> location.</li>
<li>Now take new references to the application and build the application and deploy it.</li>
</ul>
<ol style="text-align: justify;"></ol>
<p style="text-align: justify;">These are the steps to follow to resolve this error.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.itdiligent.com/2010/03/solution-for-system-security-policy-policyexception-required-permissions-cannot-be-acquired/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
