<?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>NetTrax.NET</title>
	<atom:link href="http://www.nettrax.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.nettrax.net</link>
	<description>Bradford Systems Corporation</description>
	<lastBuildDate>Sat, 20 Apr 2013 14:46:07 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Windows 8 User Account Types</title>
		<link>http://www.nettrax.net/2012/11/30/windows-8-user-account-types/</link>
		<comments>http://www.nettrax.net/2012/11/30/windows-8-user-account-types/#comments</comments>
		<pubDate>Fri, 30 Nov 2012 18:14:28 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MS SQL Server]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=606</guid>
		<description><![CDATA[My computer is not part of a domain., but rather a member of a workgroup. You can still use Windows Authentication for things like file sharing and accessing Microsoft SQL Server instances. All you have to do is use &#8216;NT Account Mirroring&#8217;. Basically, if you have two computers, the server &#8220;SQLSERVER&#8221; and the laptop &#8220;MyPC&#8221; [...]]]></description>
				<content:encoded><![CDATA[<p>My computer is not part of a domain., but rather a member of a workgroup. You can still use Windows Authentication for things like file sharing and accessing Microsoft SQL Server instances. All you have to do is use &#8216;NT Account Mirroring&#8217;. Basically, if you have two computers, the server &#8220;SQLSERVER&#8221; and the laptop &#8220;MyPC&#8221; you create Local User accounts on both machines. The accounts would have the exact same user name and password but the &#8216;domain&#8217; would be each computers computer name. For example:</p>
<ul>
<li>SQLSERVER\Brad</li>
<li>MyPC\Brad</li>
</ul>
<p>When you connect using Windows Authentication even though the &#8216;domain&#8217; (I hate how it is still referred to as domain even though it is NOT a domain) doesn&#8217;t match since the username and password do match Windows authenticates you through.</p>
<p>I recently installed Windows 8 on my laptop and provisioned a Hyper-V Windows Server 2012 (SQL Server 2012) VM. I was trying to connect to my server via SQL Server Management Studio and was getting this strange error: <em>&#8220;Login failed. The login is from an untrusted domain and cannot be used for Windows Authentication&#8221;</em></p>
<div id="attachment_609" class="wp-caption alignnone" style="width: 473px"><a href="http://www.nettrax.net/wp-content/uploads/2012/11/Login_Failed_MSG.png"><img class=" wp-image-609  " title="Login Failed Message" src="http://www.nettrax.net/wp-content/uploads/2012/11/Login_Failed_MSG.png" alt="" width="463" height="378" /></a><p class="wp-caption-text">Login Failed</p></div>
<p>So, I opened up my Local Accounts on both my Windows 8 machine and the Windows Server 2012 machine. Looking at the Local User accounts I can see that there is in fact a mirrored account &#8220;Brad&#8221; on both machines.</p>
<div id="attachment_611" class="wp-caption alignnone" style="width: 530px"><a href="http://www.nettrax.net/wp-content/uploads/2012/11/Mirrored_Accounts.png"><img class=" wp-image-611  " title="Mirrored Accounts" src="http://www.nettrax.net/wp-content/uploads/2012/11/Mirrored_Accounts.png" alt="" width="520" height="167" /></a><p class="wp-caption-text">Accounts are Mirrored</p></div>
<p>I went ahead and made sure that both accounts were using the exact same password. Still no luck, getting the same error.</p>
<p>I decided to dig more into my Windows 8 account.  From the Metro interface swipe the right side of the screen and go to Settings &#8211;&gt; Click Change PC Settings at the bottom of the screen &#8211;&gt; Select Users</p>
<p>Right away I noticed a big button “Switch to a Local Account”</p>
<div id="attachment_616" class="wp-caption alignnone" style="width: 758px"><a href="http://www.nettrax.net/wp-content/uploads/2012/11/Metro_User_Settings.png"><img class=" wp-image-616 " title="Metro User Settings" src="http://www.nettrax.net/wp-content/uploads/2012/11/Metro_User_Settings.png" alt="" width="748" height="236" /></a><p class="wp-caption-text">Metro User Settings</p></div>
<p>Wait a minute, I’m not on a domain, what other kind of account is there? It turns out that when you setup Windows 8 it creates a Microsoft Account which allows you to sync your photos, bookmarks, and other settings, to SkyDrive. In doing so, it makes some kind of unique Windows 8 account type. What is weird is, if you look at the first screenshot of the error in SQL Server Management Studio the account name that was being populated as &#8220;Windows Authentication&#8221; was showing as Brad-XPS14Z\Brad which is what my Local User account name is (or would have been).</p>
<p>I clicked the button to switch to a local account. It warns you to save your work as you&#8217;ll have to logout / login.</p>
<p>After the logout / login I tried launching SQL Server Management Studio again. This time when I clicked Connect (still using Windows Authentication) it logged me right in!</p>
<div id="attachment_620" class="wp-caption alignnone" style="width: 392px"><a href="http://www.nettrax.net/wp-content/uploads/2012/11/Logged_In_Windows_Authentication.png"><img class="size-full wp-image-620" title="Logged In Windows Authentication" src="http://www.nettrax.net/wp-content/uploads/2012/11/Logged_In_Windows_Authentication.png" alt="" width="382" height="325" /></a><p class="wp-caption-text">Logged In Using Windows Authentication</p></div>
<p>It turns out the problem was with that new Windows 8 &#8220;Microsoft Account&#8221;. Even though it looked like I had and was using the same Local Account it wasn&#8217;t. By the way, when I switched from Microsoft Account to Local Account I didn&#8217;t lose anything. My profile is exactly the same so my favorites, Start tiles, etc all remained exactly as they were.</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/11/30/windows-8-user-account-types/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NetLabels &amp; WPF Printing Issue</title>
		<link>http://www.nettrax.net/2012/08/01/netlabels-wpf-printing-issue/</link>
		<comments>http://www.nettrax.net/2012/08/01/netlabels-wpf-printing-issue/#comments</comments>
		<pubDate>Wed, 01 Aug 2012 13:35:56 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[NetLabels]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=550</guid>
		<description><![CDATA[Recently came across an error when trying to print labels via NetLabels 3.0. The print job would fail and would throw an error. The problem is that a Windows registry key for a font (or fonts) gets corrupt. More details below. The NetLabels error will look something like this: The WPF error may look a [...]]]></description>
				<content:encoded><![CDATA[<p>Recently came across an error when trying to print labels via NetLabels 3.0. The print job would fail and would throw an error. The problem is that a Windows registry key for a font (or fonts) gets corrupt. More details below.<br />
<br/></p>
<h3>The NetLabels error will look something like this:</h3>
<pre class="brush: vb; gutter: false; title: ; notranslate">
Version: 2012.4.18.821
Operating System: Microsoft Windows NT 5.1.2600 Service Pack 3 (32 bit)

Log File:
2012-07-26 10:16:47.5488 6700-DC5-XP012T 1 ERROR GBS.NetLabels.CustomerClient.App.cea37ca54156dd22ff711fe6b4c1336aa - An error has occurred while attempting to process your request. Please contact a system administrator if the problem continues. System.ArgumentException: Illegal characters in path.
at System.IO.Path.CheckInvalidPathChars(String path)
at System.IO.Path.Combine(String path1, String path2)
at Microsoft.Internal.GDIExporter.BuildFontList(String fontdir)
at Microsoft.Internal.GDIExporter.CGDIDevice.CheckFont(GlyphTypeface typeface, String name)
at Microsoft.Internal.GDIExporter.CGDIRenderTarget.CreateFontW(GlyphRun pGlyphRun, Double fontSize, Double scaleY)
at Microsoft.Internal.GDIExporter.CGDIRenderTarget.RenderTextThroughGDI(GlyphRun pGlyphRun, Brush pBrush)
at Microsoft.Internal.GDIExporter.CGDIRenderTarget.DrawGlyphRun(Brush pBrush, GlyphRun glyphRun)
at Microsoft.Internal.AlphaFlattener.BrushProxyDecomposer.Microsoft.Internal.AlphaFlattener.IProxyDrawingContext.DrawGlyphs(GlyphRun glyphrun, Geometry clip, Matrix trans, BrushProxy foreground)
at Microsoft.Internal.AlphaFlattener.PrimitiveRenderer.DrawGlyphs(GlyphRun glyphrun, Rect bounds, Matrix trans, String desp)
at Microsoft.Internal.AlphaFlattener.Flattener.AlphaRender(Primitive primitive, List`1 overlapping, Int32 overlapHasTransparency, Boolean disjoint, String desp)
at Microsoft.Internal.AlphaFlattener.Flattener.AlphaFlatten(IProxyDrawingContext dc, Boolean disjoint)
at Microsoft.Internal.AlphaFlattener.Flattener.Convert(Primitive tree, ILegacyDevice dc, Double width, Double height, Double dpix, Double dpiy, Nullable`1 quality)
at Microsoft.Internal.AlphaFlattener.MetroDevice0.FlushPage(ILegacyDevice sink, Double width, Double height, Nullable`1 outputQuality)
at Microsoft.Internal.AlphaFlattener.MetroToGdiConverter.FlushPage()
at System.Windows.Xps.Serialization.NgcSerializationManager.EndPage()
at System.Windows.Xps.Serialization.NgcSerializationManager.WalkVisual(Visual visual)
at System.Windows.Xps.Serialization.NgcReachVisualSerializer.SerializeObject(Object serializedObject)
at System.Windows.Xps.Serialization.NgcSerializationManager.SaveAsXaml(Object serializedObject)
at System.Windows.Xps.XpsDocumentWriter.SaveAsXaml(Object serializedObject, Boolean isSync)
at System.Windows.Xps.XpsDocumentWriter.Write(Visual visual)
at System.Windows.Controls.PrintDialog.PrintVisual(Visual visual, String description)
at GBS.NetLabels.Rendering.PrintingService.Print(FrameworkElement view, PrintQueue printer, PrintTicket printerSettings, String description)
at GBS.NetLabels.Rendering.Engines.PrintEngine.c645f7168458ecfa06950e0de208ea44a.cadaba4adea9d27818279d21e292b435d(Object c8e2d78626e24e8ded5f2d71804de1f51)
at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
</pre>
<p><br/></p>
<h3>The WPF error may look a little more generic and could look something like this:</h3>
<div>
<pre class="brush: vb; gutter: false; title: ; notranslate">
ArgumentException
 Message: Illegal characters in path.
 Stack Trace:=
 at System.IO.Path.CheckInvalidPathChars(String path)
 at System.IO.Path.Combine(String path1, String path2)
 at Microsoft.Internal.GDIExporter.BuildFontList(String fontdir)
 at Microsoft.Internal.GDIExporter.CGDIDevice.CheckFont(GlyphTypeface typeface, String name)
 at Microsoft.Internal.GDIExporter.CGDIRenderTarget.CreateFontW(GlyphRun pGlyphRun, Double fontSize, Double scaleY)
 at Microsoft.Internal.GDIExporter.CGDIRenderTarget.RenderTextThroughGDI(GlyphRun pGlyphRun, Brush pBrush)
 at Microsoft.Internal.GDIExporter.CGDIRenderTarget.DrawGlyphRun(Brush pBrush, GlyphRun glyphRun)
 at Microsoft.Internal.AlphaFlattener.BrushProxyDecomposer.Microsoft.Internal..AlphaFlattener.IProxyDrawingContext.DrawGlyphs(GlyphRun glyphrun, Geometry clip, Matrix trans, BrushProxy foreground)
 at Microsoft.Internal.AlphaFlattener.PrimitiveRenderer.DrawGlyphs(GlyphRun glyphrun, Rect bounds, Matrix trans, String desp)
 at Microsoft.Internal.AlphaFlattener.Flattener.AlphaRender(Primitive primitive, List`1 overlapping, Int32 overlapHasTransparency, Boolean disjoint, String desp)
 at Microsoft.Internal.AlphaFlattener.Flattener.AlphaFlatten(IProxyDrawingContext dc, Boolean disjoint)
 at Microsoft.Internal.AlphaFlattener.Flattener.Convert(Primitive tree, ILegacyDevice dc, Double width, Double height, Double dpix, Double dpiy, Nullable`1 quality)
 at Microsoft.Internal.AlphaFlattener.MetroDevice0.FlushPage(ILegacyDevice sink, Double width, Double height, Nullable`1 outputQuality)
 at Microsoft.Internal.AlphaFlattener.MetroToGdiConverter.FlushPage()
 at System.Windows.Xps.Serialization.NgcSerializationManager.EndPage()
 at System.Windows.Xps.Serialization.NgcFixedPageSerializer.SerializeObject(Object serializedObject)
 at System.Windows.Xps.Serialization.NgcDocumentPageSerializer.SerializeObject(Object serializedObject)
 at System.Windows.Xps.Serialization.NgcDocumentPaginatorSerializer.SerializeObject(Object serializedObject)
 at System.Windows.Xps.Serialization.NgcSerializationManager.SaveAsXaml(Object serializedObject)
 at System.Windows.Xps.XpsDocumentWriter.SaveAsXaml(Object serializedObject, Boolean isSync)
 at System.Windows.Xps.XpsDocumentWriter.Write(DocumentPaginator documentPaginator)
 at System.Windows.Controls.PrintDialog.PrintDocument(DocumentPaginator documentPaginator, String description)
</pre>
<p><br/></p>
<div>
<div></div>
<div></div>
<p>This exception occurs because of corrupt fonts values in the registry (HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Fonts). When using WPF printing (System.Printing), it builds a list of fonts by combining the font names from registry and Windows Font Directory path. If there are any illegal characters in the path, we know there are, then the WPF application throws the exception that we see in the stack traces above.<br/></p>
<p>The fix for this issue is pretty straight forward. We can find the corrupt font values in registry and fix them by opening and saving the key. When we open and save the key it seems to remove the bad character(s) from the string. However, finding the corrupt fonts manually is not so easy. On my system for example, I have over 500 font entries in the registry.<br/></p>
<p>To make it easier Bradford Systems has written a small .NET (4.0) application that will loop through all the font entries in the registry, identify the bad one(s) and fix them automatically.<br/></p>
<p>The utility can be <a href="http://www.nettrax.net/tools/NetLabelsWPFFix/NetLabelsWPFPrintErrorFixer.zip" target="_blank">downloaded here</a>.<br/><br />
<a href="http://www.dnsingh.com/MyBlog/post/2011/10/13/WPF-Printing-issue-App-crashes-when-print-to-a-printer.aspx" target="_blank">Source</a>
</div>
</div>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/08/01/netlabels-wpf-printing-issue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Version Detector</title>
		<link>http://www.nettrax.net/2012/07/12/net-version-detector/</link>
		<comments>http://www.nettrax.net/2012/07/12/net-version-detector/#comments</comments>
		<pubDate>Thu, 12 Jul 2012 17:55:19 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=542</guid>
		<description><![CDATA[I often find myself needing to check the version of the Microsoft .NET Framework that is installed on a PC. If your looking for .NET 4.0 it&#8217;s pretty easy, you can go into add/remove programs and you&#8217;ll see it listed (or not). But things get a little messy when you start talking about 1.1, 2.0, [...]]]></description>
				<content:encoded><![CDATA[<p>I often find myself needing to check the version of the Microsoft .NET Framework that is installed on a PC. If your looking for .NET 4.0 it&#8217;s pretty easy, you can go into add/remove programs and you&#8217;ll see it listed (or not). But things get a little messy when you start talking about 1.1, 2.0, 3.0, and 3.5.</p>
<p>Thankfully the folks over at <a href="http://www.asoft.be/index.html" target="_blank">ASoft</a> have come up with a nice lightweight app that can tell you exactly what versions of the .NET Framework are installed.</p>
<p><a href="http://www.asoft.be/prod_netver.html" target="_blank">.NET Version Detector</a> is a native application, which means it isn&#8217;t dependent on any version of .NET to run. If a certain version isn&#8217;t on the machine you can simply click the link that .NET Version Detector suggests, making it is easier for the novice user to find the runtimes. Also, detailed information is given on where the .NET Frameworks are installed with links to the directories. The details can easily be copied by a user, to paste in an email. Another cool feature is a handy list of versions of the .NET framework that are installed by default on each OS is also provided.</p>
<p>No longer do you have to dig around trying to find the .NET Frameworks that are installed or where they are installed&#8230;</p>
<p>&nbsp;</p>
<div id="attachment_544" class="wp-caption alignnone" style="width: 310px"><a href="http://www.nettrax.net/wp-content/uploads/2012/07/ASoft-.NET-Version-Detector-12-R2.png" target="_blank"><img class="size-medium wp-image-544 " title="ASoft .NET Version Detector 12 R2" src="http://www.nettrax.net/wp-content/uploads/2012/07/ASoft-.NET-Version-Detector-12-R2-300x226.png" alt="ASoft .NET Version Detector" width="300" height="226" /></a><p class="wp-caption-text">Click thumbnail to enlarge image.</p></div>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/07/12/net-version-detector/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Query by example: the charlist wild card.</title>
		<link>http://www.nettrax.net/2012/06/10/query-by-example-the-newly-discovered-wild-card/</link>
		<comments>http://www.nettrax.net/2012/06/10/query-by-example-the-newly-discovered-wild-card/#comments</comments>
		<pubDate>Sun, 10 Jun 2012 12:46:00 +0000</pubDate>
		<dc:creator>Pete</dc:creator>
				<category><![CDATA[MS SQL Server]]></category>
		<category><![CDATA[Records Management]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Searching]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=534</guid>
		<description><![CDATA[When using query by example there are the known wildcard characters &#8220;*&#8221; or &#8220;%&#8221;  and &#8220;?&#8221; or &#8220;_&#8221;; but, recently I stumbled upon a new wildcard known as the charlist. Wildcard Description * or % A substitute for zero or more characters ? or _ A substitute for exactly one character [charlist] Any single character [...]]]></description>
				<content:encoded><![CDATA[<p>When using query by example there are the known wildcard characters &#8220;*&#8221; or &#8220;%&#8221;  and &#8220;?&#8221; or &#8220;_&#8221;; but, recently I stumbled upon a new wildcard known as the <a title="SQL Wildcards" href="http://www.w3schools.com/sql/sql_wildcards.asp" target="_blank">charlist</a>.</p>
<table style="width: 347px; height: 165px;">
<tbody>
<tr>
<th align="left" width="15%">Wildcard</th>
<th align="left" valign="top" width="85%">Description</th>
</tr>
<tr>
<td valign="top">* or %</td>
<td valign="top">A substitute for zero or more characters</td>
</tr>
<tr>
<td valign="top">? or _</td>
<td valign="top">A substitute for exactly one character</td>
</tr>
<tr>
<td valign="top"><em>[charlist]</em></td>
<td valign="top"><em>Any single character in charlist</em></td>
</tr>
<tr>
<td valign="top"><em>[^charlist]</em><em>or</em><em>[!charlist]</em></td>
<td valign="top"><em>Any single character not in charlist</em></td>
</tr>
</tbody>
</table>
<p>If you had a field &#8220;First Name&#8221; and entered the search value<span style="color: #0000ff;"> petrsl</span> most likely that will return no results; however if you enter <span style="color: #ff0000;">[</span><span style="color: #0000ff;">petrsl</span><span style="color: #ff0000;">]</span> the search will return a result where the field starts with &#8220;p&#8221; or &#8220;e&#8221; or &#8220;t&#8221; or &#8220;r&#8221; or &#8220;s&#8221; or &#8220;l&#8221; by wrapping your search criteria with an open bracket <span style="color: #ff0000;">[</span> and close bracket <span style="color: #ff0000;">]</span>.</p>
<p>*[^ ]-[^ ]*   This says, give me all the records with a ‘-‘ in the field, just so long as the character right before – and right after – isn’t a [space].</p>
<p>If you need to find records that start with a range of characters or numbers remember the <strong>charlist</strong> wildcard.</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/06/10/query-by-example-the-newly-discovered-wild-card/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bulk Rename Files &amp; Folders</title>
		<link>http://www.nettrax.net/2012/03/29/bulk-rename-files-folders/</link>
		<comments>http://www.nettrax.net/2012/03/29/bulk-rename-files-folders/#comments</comments>
		<pubDate>Thu, 29 Mar 2012 19:08:28 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Utilities]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=512</guid>
		<description><![CDATA[I recently found myself having to update several document categories to new values. From the NetTrax.NET database side this was a breeze, a few simple SQL update statements and I was done. The problem was, the document categories are used to name file folders out on a Windows® file share. Going through and manually renaming [...]]]></description>
				<content:encoded><![CDATA[<p>I recently found myself having to update several document categories to new values. From the NetTrax.NET database side this was a breeze, a few simple SQL update statements and I was done. The problem was, the document categories are used to name file folders out on a Windows® file share. Going through and manually renaming 20,000+ folders was out of the question for obvious reasons.</p>
<p>Enter the amazing (and free!) <a title="Bulk Rename Utility" href="http://www.bulkrenameutility.co.uk/" target="_blank">Bulk Rename Utility</a>.</p>
<p>Here is a look at the Bulk Rename Utility main operation screen:</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2012/03/bulk-rename-utility1.png" target="_blank"><img class="alignnone size-medium wp-image-514" title="Bulk Rename Utility" src="http://www.nettrax.net/wp-content/uploads/2012/03/bulk-rename-utility1-300x230.png" alt="" width="300" height="230" /></a></p>
<p>This probably looks a little, ok a lot, overwhelming. That&#8217;s because from this UI you can perform just about all the updates you might ever need on files/folders. The options are very well documented in the included help file so I&#8217;m not going to go in to it here.</p>
<p>There is a drawback to using the UI. When you select your folder from the tree on the left it has to load in all the folders, sub-folders and files (depending on what options you have selected). When you have 20,000+ folders this refresh takes a substantial amount of time.</p>
<p>Thankfully, Bulk Rename Utility has a cousin called <a title="Bulk Rename Command" href="http://www.bulkrenameutility.co.uk/Command.php" target="_blank">Bulk Rename Command</a> (BRC). Bulk Rename Command allows you to perform most of, if not all, the functions in the Bulk Rename Utility UI via the Windows® Command Prompt.</p>
<p>So, I started out with an Excel Spreadsheet to build my command with the parameters I needed.</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2012/03/excel_build_command1.png" target="_blank"><img class="alignnone size-full wp-image-525" title="Excel Spreadsheet Build Command" src="http://www.nettrax.net/wp-content/uploads/2012/03/excel_build_command_thumb.png" alt="" width="615" height="315" /></a></p>
<p>&nbsp;</p>
<p>Using Excel I break down the whole command into chunks then put it back together using the CONCATENATE function.</p>
<ol>
<li>This column includes the command line application, some switches and the directory to start in.</li>
<li>The folder names to find.</li>
<li>The folder names to replace with.</li>
<li>Some more switches and syntax to output to a log txt file rather than showing the information on the screen.</li>
<li>The first four columns CONCATENATED into one long command.</li>
</ol>
<p>The switches are detailed very well in the included help file but I&#8217;ll go over the ones I used here.</p>
<p><em><strong>/NOFILES</strong></em> &#8211; This means evaluate (and rename) folders only.</p>
<p><strong><em>/RECURSIVE</em></strong> &#8211; This tells BRC to go through any and all sub-folders</p>
<p><em><strong>/DIR:&#8221;DirectoryName&#8221;</strong></em> &#8211; Tells BRC what directory to start from.</p>
<p><em><strong>/REPLACE:&#8221;FindText&#8221;:&#8221;ReplaceText&#8221;</strong></em> &#8211; Tells BRC what text to look for and what text to replace it with.</p>
<p><em><strong>/EXECUTE</strong></em> &#8211; This is a cool switch. Basically BRC will let you enter all your switches and then run. It will &#8216;look&#8217; just like it is running, however, it doesn&#8217;t actually modify anything. Think of this as a &#8216;preview&#8217; before you unleash BRC on your files/folders. By adding the /EXECUTE switch that tells BRC to go ahead and actually perform the update(s). So, be careful with this switch!</p>
<p><em><strong>&gt;&gt; &#8220;FilePath\Name.txt&#8221;</strong></em> &#8211; Since the Command Line screen is somewhat limited and I was working with 20,000+ folders I didn&#8217;t want the output to just go scrolling along on the screen. I wanted to be able to go back and look at everything BRC did and review it, especially useful if something goes horribly wrong. The &gt; symbol followed by a filename.txt will output the data on the screen to a text file. By using two &gt;&gt; characters you are telling the Command Line application to append the data to the file not overwrite it.</p>
<p>Here is a sample from the log text file:</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2012/03/Output_Log.png" target="_blank"><img class="alignnone size-full wp-image-520" title="Output Log" src="http://www.nettrax.net/wp-content/uploads/2012/03/Output_Log.png" alt="" width="716" height="294" /></a></p>
<p>You can see where it passed over the BENEFITS (US) folder as it required no change, however, once it got to Compensation (Green) it was renamed to COMPENSATION (US).</p>
<p>By using a .BAT file and running this as a command the entire thing processed in under five minutes. Try renaming even a hundred folders in that time, BRC did 20,000+!</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/03/29/bulk-rename-files-folders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Biggest Headache first!</title>
		<link>http://www.nettrax.net/2012/03/01/biggest-headache-first/</link>
		<comments>http://www.nettrax.net/2012/03/01/biggest-headache-first/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 22:30:22 +0000</pubDate>
		<dc:creator>link</dc:creator>
				<category><![CDATA[Records Management]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=504</guid>
		<description><![CDATA[Bottom up methodology is the most successful way to implement most Records Management projects.  By starting with the one record series or loan type first that is causing the biggest problems or would impact the business the most first.  You will learn the tools you have selected in a focused manner that has a much [...]]]></description>
				<content:encoded><![CDATA[<p>Bottom up methodology is the most successful way to implement most Records Management projects.  By starting with the one record series or loan type first that is causing the biggest problems or would impact the business the most first.  You will learn the tools you have selected in a focused manner that has a much better chance of success and momentum if Phase 1 goals are achieved in a reasonable amount of time.</p>
<p>Knowing the tool and having experience with it will help you apply it to other departments or Record Types better and quicker after your initial success.  The other departments will want to be a part of your positive results.  Over and over I see Phase 2 go well when Phase 1 was defined and not enlarged during the process.  “We can do that in phase 2” is a great way of saying I hear your suggestion and I think it’s important – but it’s not going to derail our mission critical Phase 1.</p>
<p>I have seen many many top down projects just put under IT’s control only to think that software can just be installed on one server and everybody will start using it.  How do you spell failure?  Let’s just say everyone started using it, the IT guys think it’s working.  But in reality, if people aren’t using it correctly you are just building up a cleanup or conversion at a later time when the business lines dig into it.</p>
<p>Start projects small, and team with your IT staff to phase in an approach you can train people on as it grows and you will hit your target.</p>
<p>Link Bradford</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/03/01/biggest-headache-first/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cleanse the Database!</title>
		<link>http://www.nettrax.net/2012/03/01/cleanse-the-database-2/</link>
		<comments>http://www.nettrax.net/2012/03/01/cleanse-the-database-2/#comments</comments>
		<pubDate>Thu, 01 Mar 2012 22:27:18 +0000</pubDate>
		<dc:creator>link</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MS SQL Server]]></category>
		<category><![CDATA[Records Management]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=498</guid>
		<description><![CDATA[You would clean up the physical files…. Many of the same problems exist in the database.  Incorrect information, incomplete information, missing required information, not enough metadata to classify, corrupt data, out of date information, incomplete deletes, etc&#8230;  Trust me, the database is not perfect. So, how do we cleanse?  There are several levels to a [...]]]></description>
				<content:encoded><![CDATA[<p>You would clean up the physical files…. Many of the same problems exist in the database.  Incorrect information, incomplete information, missing required information, not enough metadata to classify, corrupt data, out of date information, incomplete deletes, etc&#8230;  Trust me, the database is not perfect. So, how do we cleanse?  There are several levels to a database cleanup.</p>
<p>First have some reports written.  Reports that show data exceptions for empty names or record types, out of range dates, number too high or low, account numbers not the right length, etc&#8230;  Think through every field and all combinations.  If you have ever converted a database think back to what the exceptions were.  It’s the next data conversion you are preparing for, while managing the records correctly today.  The database will out-live the product currently managing it!</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2012/02/missingdata.jpg"><img class="alignnone  wp-image-491" title="missingdata" src="http://www.nettrax.net/wp-content/uploads/2012/02/missingdata-300x148.jpg" alt="" width="771" height="345" /></a></p>
<p>The next step is to do some searches.  Audit what you think should be in the database over a period of a year, audit multiple clients or accounts.  See if this matches your billing systems for how many records/years you should have for them and if it doesn’t clean up the errors.</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2012/02/corruptdata.jpg"><img class="alignnone  wp-image-490" title="corruptdata" src="http://www.nettrax.net/wp-content/uploads/2012/02/corruptdata-300x40.jpg" alt="" width="739" height="88" /></a></p>
<p>Bottom level – NetTrax.NET has a powerful Saved Queries utility that will let you write custom SQL queries to run against the database.  Not technical enough for this?  Have a resource from I.T. sit with you and do it with them.  Sort each column one at a time – 90% of your clean-up will be blanks and special characters that sort to the top or bottom of each column.  And you can remove or repair at this level of connectivity whereas the application running your database simply can’t query or edit this way. Don’t have I.T. resources that can help you with this? No problem, contact a representative from Bradford Systems today to help. We can provide hourly rates for our experienced database developers to write queries and even come on-site to assist with the cleanup. This hourly approach lets you use our resources as little or as much as you need.</p>
<p>The lesson here is cleanse the data as often as you would clean up your physical files, or maybe even more.</p>
<p>Link Bradford</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/03/01/cleanse-the-database-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to find rows where a column contains a number</title>
		<link>http://www.nettrax.net/2012/02/22/how-to-find-rows-where-a-column-contains-a-number/</link>
		<comments>http://www.nettrax.net/2012/02/22/how-to-find-rows-where-a-column-contains-a-number/#comments</comments>
		<pubDate>Wed, 22 Feb 2012 16:01:46 +0000</pubDate>
		<dc:creator>Pete</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MS SQL Server]]></category>
		<category><![CDATA[SQL Code Snippets]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=482</guid>
		<description><![CDATA[I needed to pull out all rows where a user id was numeric, SQL Server (as of 2005) has a  function IsNumeric: ISNUMERIC returns 1 when the input expression evaluates to a valid numeric data type; otherwise it returns 0 MSDN &#160;]]></description>
				<content:encoded><![CDATA[<p>I needed to pull out all rows where a user id was numeric, SQL Server (as of 2005) has a  function IsNumeric:</p>
<pre class="brush: sql; title: ; notranslate">
SELECT USERID,USERNAME
FROM Users
Where IsNumeric(UserID) = 1
</pre>
<p>ISNUMERIC returns 1 when the input expression evaluates to a valid numeric data type; otherwise it returns 0<a title="MSDN Documentation" href="http://msdn.microsoft.com/en-us/library/ms186272.aspx" target="_blank"><br />
MSDN</a></p>
<p>&nbsp;</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2012/02/22/how-to-find-rows-where-a-column-contains-a-number/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>&#8230;it is not contained in either an aggregate function or the GROUP BY clause</title>
		<link>http://www.nettrax.net/2011/10/20/it-is-not-contained-in-either-an-aggregate-function-or-the-group-by-clause/</link>
		<comments>http://www.nettrax.net/2011/10/20/it-is-not-contained-in-either-an-aggregate-function-or-the-group-by-clause/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 14:06:08 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MS SQL Server]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=464</guid>
		<description><![CDATA[I cannot tell you how annoying I find this error, and before you post a comment, I know it&#8217;s not the fault of SQL Server. I&#8217;ve asked it for something that is not logically solvable. I found a pretty good explanation of it: If I asked you &#8220;For each city in Massachusetts, what is the [...]]]></description>
				<content:encoded><![CDATA[<p>I cannot tell you how annoying I find this error, and before you post a comment, I know it&#8217;s not the fault of SQL Server. I&#8217;ve asked it for something that is not logically solvable. I found a pretty good explanation of it:</p>
<blockquote><p>If I asked you &#8220;For each city in Massachusetts, what is the total number of residents and what is their age?&#8221; Now, think logically and carefully about what I am asking you.  Does it make sense?  The total number of people does &#8212; it is just a single value, the count of how many people live in the city.  But how can I return &#8220;their age&#8221;?  What is really being asked for?  A long list of every age of every person, all delimited by commas (e.g., a list of thousands of repeating numbers)?  A distinct list of all ages, also separated by commas (e.g., 0,1,2,3 &#8230;.) ?  Perhaps the average age?  The median age?  The minimum and/or the maximum age? The result of adding up the ages of everyone in the city?</p>
<p>As you can see, we cannot answer the question, since it does not make logical sense without providing more specific information about what you need.</p></blockquote>
<p>So as I started digging in to this some more I had an idea. What if I could aggregate my unique column (Tracking_ID) in a way that I know isn&#8217;t going to affect the results&#8230;</p>
<p>Here goes&#8230;.</p>
<pre class="brush: sql; title: ; notranslate">
SELECT Description, FundCode, CounterpartyCode, TradingCity
FROM DupsToRemove
GROUP BY Description, FundCode, CounterpartyCode, TradingCity
</pre>
<p>The above query returns exactly what I am after. My  4861 rows are uniquly (on those 4 fields) brought down to 252 rows. The problem is I need to also include about 4 other columns that are not in the GROUP BY criteria.</p>
<p>So, I decided to aggregate Tracking_ID in a way that wouldn&#8217;t impact the actual data being returned&#8230;</p>
<pre class="brush: sql; title: ; notranslate">
SELECT Description, FundCode, CounterpartyCode, TradingCity, MAX(Tracking_ID) as Tracking_ID
FROM DupsToRemove
GROUP BY Description, FundCode, CounterpartyCode, TradingCity
</pre>
<p>The above query returns my same unique 252 rows (notice my GROUP BY has not changed) but now I have a derived column &#8216;Tracking_ID&#8217;. Since Tracking_ID is a GUID and a PK on the table it cannot be duplicated, therefore the MAX value will always be the ONLY value and therefore the UNIQUE value!</p>
<p>I Copy/Paste my &#8216;Tracking_ID&#8217; column into Excel and build my quick UPDATE statement.</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2011/10/excel_update_statement.png"><img class="alignnone size-full wp-image-467" title="Excel Update Statement" src="http://www.nettrax.net/wp-content/uploads/2011/10/excel_update_statement.png" alt="Excel Update Statement" width="558" height="248" /></a></p>
<p>Running that in SSMS I have now set my field IsUnique = TRUE for my unique records.</p>
<p>Now I can simply run this query:</p>
<pre class="brush: sql; title: ; notranslate">
SELECT * FROM DupsToRemove
WHERE IsUnique = 'TRUE'
</pre>
<p>&nbsp;</p>
<p><a href="http://www.nettrax.net/wp-content/uploads/2011/10/results_set.png"><img class="alignnone size-full wp-image-474" title="Results Set" src="http://www.nettrax.net/wp-content/uploads/2011/10/results_set.png" alt="" width="768" height="190" /></a></p>
<p>I get ALL 8 columns I need, where they are unique. My results = 252 which is exactly how many unique records I have!</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2011/10/20/it-is-not-contained-in-either-an-aggregate-function-or-the-group-by-clause/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Export to Excel from SQL Server</title>
		<link>http://www.nettrax.net/2011/06/23/export-to-excel-from-sql-server/</link>
		<comments>http://www.nettrax.net/2011/06/23/export-to-excel-from-sql-server/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 16:25:59 +0000</pubDate>
		<dc:creator>brad</dc:creator>
				<category><![CDATA[Database]]></category>
		<category><![CDATA[MS SQL Server]]></category>

		<guid isPermaLink="false">http://www.nettrax.net/?p=425</guid>
		<description><![CDATA[I often find myself needing to take data from a SQL query and give it to another person. SQL Server Management Studio (SSMS) does have the ability to right click in the results grid and save as a CSV file. There are two problems with that method. First, it is a time consuming process! You [...]]]></description>
				<content:encoded><![CDATA[<p>I often find myself needing to take data from a SQL query and give it to another person. SQL Server Management Studio (SSMS) does have the ability to right click in the results grid and save as a CSV file. There are two problems with that method. First, it is a time consuming process! You have to save the .CSV then open a new Excel workbook, then import the data from text (going through the wizard to define how it is delimited) then save your new .xls file. The other (and bigger problem) is that my data always seems to have a comma here and there which causes the column/row mapping to get out of sync.</p>
<p>That got me thinking, what if I could go right from SQL Server to Excel? Turns out there is a pretty easy way to do this. But, your going to need to follow some tips and tricks. The reason this isn&#8217;t as straight forward as you would expect is because SSIS (<a title="SSIS (SQL Server Integration Services)" href="http://en.wikipedia.org/wiki/SQL_Server_Integration_Services" target="_blank">SQL Server Integration Services</a>) has a very difficult time converting data and determining the correct type of data columns in your destination location.</p>
<h3>Instructions</h3>
<ol>
<li> Open Excel and create a new workbook where you will be exporting the data to.</li>
<li>Run your query in SSMS. In the results grid, highlight the first row, right click, select &#8220;Copy with Headers&#8221;<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/SSMS_Copy_with_Headers.png"><img class="size-full wp-image-429 alignnone" title="SSMS Copy with Headers" src="http://www.nettrax.net/wp-content/uploads/2011/06/SSMS_Copy_with_Headers.png" alt="SSMS Copy with Headers" width="578" height="273" /></a></li>
<li>In your Excel workbook created in step 1 select cell A1 and then right click, select &#8220;Paste&#8221;
<ul>
<li>This should have pasted the column headers as well as 1 row of data into your Excel workbook.</li>
</ul>
</li>
<li>Highlight row 2 (the one row of data) and delete the entire row.
<ul>
<li>You should now have an Excel workbook with column headers matching that of your query results.</li>
</ul>
</li>
<li>Close Excel</li>
<li>Copy your SQL query syntax.</li>
<li>Right click on the database you want to export out of, Tasks, Export Data.</li>
<li>The SQL Server Import &amp; Export Wizard will launch. [You may get a 'welcome' page, I've checked the check box so that I don't get that page anymore. If you have the welcome page hit Next.] You should be at Choose a Data Source step. Data Source, Server Name and Database Name should all be populated correctly. If they arn&#8217;t set these settings now with your values. Click Next.</li>
<li>You should be at Choose a Destination step. From the Destination drop-down select Microsoft Excel. Excel File Path click the Browse button and go select your Excel workbook we created in step 1. Notice how Import &amp; Export Wizard automatically detects if you have an Excel 97-2003 file vs 2007/2010. Make sure &#8220;First row has column names&#8221; is checked. Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Choose_a_Destination.png"><img class="alignnone size-full wp-image-432" title="Choose a Destination" src="http://www.nettrax.net/wp-content/uploads/2011/06/Choose_a_Destination.png" alt="Choose a Destination" width="566" height="579" /></a></li>
<li>Select &#8216;Write a query to specify data to transfer&#8217; [Note: I am using this because I am typically using specific criteria to select records. If you want everything in an existing table you can select the 'Copy data from one or more tables or views' option.] Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Specify-Table-Copy-or-Query.png"><img class="alignnone size-full wp-image-433" title="Specify Table Copy or Query" src="http://www.nettrax.net/wp-content/uploads/2011/06/Specify-Table-Copy-or-Query.png" alt="Specify Table Copy or Query" width="566" height="579" /></a></li>
<li>Paste your SQL syntax in that we copied in step 6. [Note: you can click the browse button and go find a .sql file if you have the SQL saved in a file somewhere.] Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Provide-a-Source-Query.png"><img class="alignnone size-full wp-image-434" title="Provide a Source Query" src="http://www.nettrax.net/wp-content/uploads/2011/06/Provide-a-Source-Query.png" alt="Provide a Source Query" width="566" height="579" /></a></li>
<li>On the Select Source Tables and Views step it is going to default to trying to create a new worksheet in our workbook called Query. When the wizard attempts to create a new table (worksheet) I have run into nothing but errors here. What we are going to do is map it to our Sheet1 that we already pasted in the column headers. Under the &#8216;Destination&#8217; column select the word Query and change the drop-down to &#8216;Sheet1$&#8217;. Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Select-Source-Tables-and-Views.png"><img class="alignnone size-full wp-image-435" title="Select Source Tables and Views" src="http://www.nettrax.net/wp-content/uploads/2011/06/Select-Source-Tables-and-Views.png" alt="Select Source Tables and Views" width="566" height="579" /></a></li>
<li>On the Review Data Type Mapping step a lot of things are going to be marked with warnings. Don&#8217;t worry about this. We are going into columns marked as varchar(255) so everything should convert over without issue. Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Review-Data-Type-Mapping.png"><img class="alignnone size-full wp-image-438" title="Review Data Type Mapping" src="http://www.nettrax.net/wp-content/uploads/2011/06/Review-Data-Type-Mapping.png" alt="Review Data Type Mapping" width="566" height="579" /></a></li>
<li>On the Save and Run Package screen accept all the defaults. Click Next.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Save-and-Run-Package.png"><img class="alignnone size-full wp-image-439" title="Save and Run Package" src="http://www.nettrax.net/wp-content/uploads/2011/06/Save-and-Run-Package.png" alt="Save and Run Package" width="566" height="579" /></a></li>
<li>On the Complete the Wizard step select Finish.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Complete-the-Wizard.png"><img class="alignnone size-full wp-image-440" title="Complete the Wizard" src="http://www.nettrax.net/wp-content/uploads/2011/06/Complete-the-Wizard.png" alt="Complete the Wizard" width="566" height="579" /></a></li>
<li>Cross your fingers! SSIS is about to export your data to Excel. If everything worked correctly you should get The execution was successful page. You should see that all Status is &#8216;Success&#8217; and Message column for the row Copying to &#8216;Sheet1$&#8217; tells you the number of rows it exported to Excel. Click Close.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/The-execution-was-successful.png"><img class="alignnone size-full wp-image-441" title="The execution was successful" src="http://www.nettrax.net/wp-content/uploads/2011/06/The-execution-was-successful.png" alt="The execution was successful" width="566" height="579" /></a></li>
<li>Open your Excel workbook and you should see the data was exported!<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Exported-to-Excel.png"><img class="alignnone size-full wp-image-442" title="Exported to Excel" src="http://www.nettrax.net/wp-content/uploads/2011/06/Exported-to-Excel.png" alt="Exported to Excel" width="793" height="486" /></a></li>
</ol>
<h3>Note</h3>
<p>Excel has some limits. If your query results exceed either of these limits you will have problems trying to export to Excel. Here is a table of Row/Column limits by version of excel.<br />
<a href="http://www.nettrax.net/wp-content/uploads/2011/06/Excel-Limits.png"><img class="alignnone size-full wp-image-443" title="Excel Limits" src="http://www.nettrax.net/wp-content/uploads/2011/06/Excel-Limits.png" alt="Excel Limits" width="440" height="60" /></a></p>
<p>&nbsp;</p>
<h3>Conclusion</h3>
<p>Exporting data out of SQL Server is a pretty common task. With this simple process you can now go directly to Excel and save yourself the trouble of importing and cleaning up the .CSV file!</p>
<div id="wpcr_respond_1"></div>]]></content:encoded>
			<wfw:commentRss>http://www.nettrax.net/2011/06/23/export-to-excel-from-sql-server/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
