<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5052131135753088656</id><updated>2012-02-03T15:10:41.051Z</updated><category term='DataGridView'/><category term='KML'/><category term='DNS'/><category term='Performance'/><category term='sysadmin'/><category term='MS Access'/><category term='SQL'/><category term='MaxCacheTTL'/><category term='Errors'/><category term='Dell PE1800'/><category term='AdWords'/><category term='Exchange 2007'/><category term='Grid InQuest'/><category term='Show Traffic'/><category term='BitTorrent'/><category term='Constituencies'/><category term='Visual Studio 2008'/><category term='Dust'/><category term='WMI'/><category term='Preserving Trailing Spaces'/><category term='Non-Paged Pool'/><category term='Mac'/><category term='SBS 2008'/><category term='DrWatson'/><category term='System Restore'/><category term='LINQ'/><category term='Netstat'/><category term='Virtual Server 2005 R2'/><category term='LineStrings'/><category term='SBS2003'/><category term='PlusNet'/><category term='Didier Stevens'/><category term='My Client Center'/><category term='QuickBooks 2005'/><category term='C#.NET'/><category term='UK'/><category term='BESAdmin'/><category term='1e100.net'/><category term='Exchange 2007 SP2'/><category term='iPhone'/><category term='drivers'/><category term='Exchange Migration'/><category term='SBS'/><category term='SBS 2011'/><category term='PoolMon'/><category term='ActiveSync'/><category term='Draytek Vigor'/><category term='QBFC10'/><category term='Windows Server 2003'/><category term='Fan'/><category term='WBEM'/><category term='BESMgmt'/><category term='Microsoft'/><category term='Email'/><category term='Exchange'/><category term='BES'/><category term='Sysinternals'/><category term='Security Updates'/><category term='AVG'/><category term='Vigor 2900'/><category term='Google Earth'/><category term='Blackberry'/><category term='Chrome'/><category term='Googol'/><category term='QuickBooks SDK'/><category term='nx9005'/><category term='Exchange 2003'/><category term='Roxio Easy Creator'/><category term='NeSS Data Exchange'/><category term='IIS6'/><category term='SSL'/><category term='LogonScript'/><category term='MultiGeometry'/><category term='VBS'/><category term='Windows 7'/><category term='Postcode Searches'/><category term='SearchByPostcode'/><category term='navigation'/><category term='OWA'/><category term='Apps Migration'/><category term='Entourage'/><category term='Laptop strip'/><category term='WebDAV'/><category term='Cisco 1841'/><category term='QuickBooks Pro 2005 UK'/><category term='GoogleDNS'/><category term='MXToolBox'/><category term='YouTube'/><category term='SMTP Hijack'/><category term='Google'/><category term='ADO.NET'/><category term='Blacklist'/><category term='Dell OpenManage'/><category term='National Statistics'/><category term='TaskList'/><category term='QBXMLRP'/><category term='BESX'/><category term='Paint.NET'/><category term='Update Rollups'/><category term='OpenDNS'/><category term='Exchange 2010'/><category term='Sourceforge'/><category term='qbXML'/><category term='Google Apps'/><category term='QBFC5'/><title type='text'>OS Tex</title><subtitle type='html'>Ordnance Survey, Operating Systems, Open Source, Octopus Suckers,&lt;br&gt; Organisation Support, Obiettivi Specifici&lt;br&gt;All my interests/activities :)
&lt;br&gt;</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>44</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-8017538749559153557</id><published>2012-02-03T15:06:00.001Z</published><updated>2012-02-03T15:10:41.060Z</updated><title type='text'>PDF Printing in Google Chrome: Bug? or should I worry?</title><content type='html'>I just received a PDF in my email ... and thought I'd view it and print it out.&lt;br /&gt;&lt;br /&gt;First report ok.. my client's report looked fine. &amp;nbsp;Second report... er... The letters in their logo were scrambled and replaced with other letters.&lt;br /&gt;&lt;br /&gt;The report was generated in MS Access... an Access Report that I originally created for my client. &amp;nbsp;It includes their logo as a BMP. &amp;nbsp;My client prints the report to a PDF, using something like &lt;a href="http://www.cutepdf.com/" target="_blank"&gt;CutePDF&lt;/a&gt; or &lt;a href="http://www.pdf995.com/" target="_blank"&gt;pdf995&lt;/a&gt;. &amp;nbsp;He then emails the reports to my GApps.&lt;br /&gt;&lt;br /&gt;I click on &lt;b&gt;View&lt;/b&gt; next the the PDF. &amp;nbsp;And the Print. &amp;nbsp;I can then see the standard PDF print dialog. &amp;nbsp;So far the document looks ok to me.&lt;br /&gt;&lt;br /&gt;However on the hard copy the text from the Logo has changed:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-v_sAfnvgwiI/TyvoNIFYC2I/AAAAAAAAAuY/nnzI8jmJozs/s1600/IMGP4460a.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="142" src="http://2.bp.blogspot.com/-v_sAfnvgwiI/TyvoNIFYC2I/AAAAAAAAAuY/nnzI8jmJozs/s320/IMGP4460a.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;So I closed the PDF in the browser window, went back to my email, clicked on &lt;b&gt;View&lt;/b&gt; again and re-printed... and all was fine.&lt;br /&gt;&lt;br /&gt;Anybody want to hazard a guess what is happening? &amp;nbsp;Thoughts...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Is Google OCRing my [private] PDF, when it attempts to convert to a printable file?&lt;/li&gt;&lt;li&gt;The printer driver on my computer is doing it? &amp;nbsp;How does it know that I am printing letters in the PDF?&lt;/li&gt;&lt;li&gt;A virus?&lt;/li&gt;&lt;li&gt;If Google is putting the PDF through an OCR so that I can search it within Google Docs... then should I be worried about that? &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;I think I will stick to using the&amp;nbsp;&lt;b&gt;Download&lt;/b&gt;&amp;nbsp;option in future. &amp;nbsp;And print via Adobe Acrobat Viewer... Google Docs might be convenient, but I'm not sure I can trust the Chrome/Docs print service with confidential PDFs, until I know why this logo was not printed wysywig...&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-8017538749559153557?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/8017538749559153557/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2012/02/pdf-printing-in-google-chrome-bug-or.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8017538749559153557'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8017538749559153557'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2012/02/pdf-printing-in-google-chrome-bug-or.html' title='PDF Printing in Google Chrome: Bug? or should I worry?'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-v_sAfnvgwiI/TyvoNIFYC2I/AAAAAAAAAuY/nnzI8jmJozs/s72-c/IMGP4460a.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6069463140573117542</id><published>2012-02-01T11:59:00.001Z</published><updated>2012-02-01T12:30:37.772Z</updated><title type='text'>Crystal Reports: Sorting</title><content type='html'>I have a complicated Crystal Reports report - &lt;i&gt;Management Report&lt;/i&gt;. &amp;nbsp; The report is based on a single table, which has been built up in Visual Studio, within my VB.NET Project. &amp;nbsp;The table pulls in data from about 7 different tables, with inner and outer joins... It contains all the fields that I need to calculate the sorting, as well as the display fields, and other fields I will use to calculate display fields.&lt;br /&gt;&lt;br /&gt;For example, &amp;nbsp;&lt;b&gt;ItemUidT1, ItemUidT2&lt;/b&gt;&amp;nbsp;are GUIDs from two tables and &lt;b&gt;ItemRefT1, ItemRefT2&lt;/b&gt;&amp;nbsp;are strings from those two tables. &amp;nbsp;These two tables link to a main table by their respective &lt;b&gt;ItemUid&lt;/b&gt;s.&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-rViIncD6Gr8/TykQmOfK8pI/AAAAAAAAAuI/30SBm7vKKAc/s1600/ItemUid.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="152" src="http://1.bp.blogspot.com/-rViIncD6Gr8/TykQmOfK8pI/AAAAAAAAAuI/30SBm7vKKAc/s320/ItemUid.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;But I have one column in the report for printing &lt;b&gt;ItemRef&lt;/b&gt;. &amp;nbsp;I want to be able to sort the whole table into all values from Table1 and then all values from Table2... but I also want the user to click a button on the form to change the sort order to an Index or Count value for all items irrespective of their Table. &amp;nbsp;Take it that the schema for Table1 and Table2 are very different, which is why they should not be stored in the same table with a 'flag' field.&lt;br /&gt;&lt;br /&gt;This is not about building such a table... but using it in Crystal Reports. &amp;nbsp;The table could look like this:&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-BVvdeP7w0lY/TykTWtgAjlI/AAAAAAAAAuQ/ftVKOtjiL6k/s1600/Query4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="92" src="http://3.bp.blogspot.com/-BVvdeP7w0lY/TykTWtgAjlI/AAAAAAAAAuQ/ftVKOtjiL6k/s400/Query4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;fyi:&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;SELECT MainTable.MainTableUid,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MainTable.ItemUidT1,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Table1.ItemRefT1,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MainTable.ItemUidT2,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Table2.ItemRefT2,&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MainTable.OtherData&lt;br /&gt;FROM Table2 RIGHT JOIN&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;(Table1 RIGHT JOIN MainTable ON Table1.ItemUidT1 = MainTable.ItemUidT1)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ON Table2.ItemUidT2 = MainTable.ItemUidT2;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;In the report I have created formula fields for displaying... so Formula:&amp;nbsp;&lt;b&gt;{@ItemRef}&lt;/b&gt; = &lt;span style="font-size: x-small;"&gt;[note: code is in VB Syntax not Crystal Syntax]&lt;/span&gt;&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;If Not IsNull({QueryMain.ItemUid1}) Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; formula = {QueryMain.ItemRef1}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; If Not&amp;nbsp;IsNull({QueryMain.ItemUid2}) Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;formula = {QueryMain.ItemRef2}&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; formula = "n/a"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;&amp;nbsp; &amp;nbsp; End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: blue;"&gt;End If&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;My actual report has 8 sort fields. &lt;br /&gt;&lt;br /&gt;&lt;u&gt;SortFields(0): &amp;nbsp;Not linked to an Item Table&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;On one report I would like to move all the Items in the list which are not linked to an Item Table down to the bottom of the list. &amp;nbsp;To do this I create a new Formula called &lt;b&gt;{@IsNotInItemTable1}&lt;/b&gt; =&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;If IsNull({QueryMain.ItemUid1}) And IsNull({QueryMain.ItemUid2}) Then&lt;br /&gt;&amp;nbsp; &amp;nbsp; formula = 2&lt;br /&gt;Else&lt;br /&gt;&amp;nbsp; &amp;nbsp; formula = 1&lt;br /&gt;End If&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;This is added to&amp;nbsp;&lt;i&gt;Report&lt;/i&gt; -&amp;gt; &lt;i&gt;Record Sort Expert&lt;/i&gt;&amp;nbsp;- sorted Ascending.&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SortFields(1): &amp;nbsp;Alphabetical List of ItemRef&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;From the first sort, we have two groups of records... this in the Item Tables and those not. &amp;nbsp;I would like to sort by &lt;b&gt;ItemRef&lt;/b&gt; next... the formula is the same as for &lt;b&gt;{@ItemRef}&lt;/b&gt; above, but call it &lt;b&gt;{@ItemRef1}&lt;/b&gt;&amp;nbsp;for reasons that will be clear below. &amp;nbsp;And&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;formula = {@ItemRef}&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;&lt;u&gt;SortFields(2): &amp;nbsp;OtherData&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;I first tried to add &lt;b&gt;{QueryMain.OtherData}&lt;/b&gt; as a sort field on its own... but I ran into problems with it. &amp;nbsp;If I want to assign this field to SortFields(0) in my code, then CrystalReports keeps on throwing an error:&lt;br /&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;System.Runtime.InteropServices.COMExcept&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;ion was unhandled&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; ErrorCode=-2147213305&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; Message="The sorting already exists"&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; Source="RptControllers.dll"&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; StackTrace:&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at CrystalDecisions.ReportAppServer.Control&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;lers.SortC&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;ontrollerC&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;lass.Add(I&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;nt32 IndexToAdd, ISCRSort Sort)&lt;/span&gt;&lt;br /&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;at CrystalDecisions.CrystalReports.Engine.S&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;ortField.s&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;et_Field(F&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;ieldDefini&lt;/span&gt;&lt;wbr style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;&lt;/wbr&gt;&lt;span style="background-color: white; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 16px; text-align: left;"&gt;tion value)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I'm not sure how to get around this to allow for assigning random fields... I can't seem to remove one field from the sorting so that I can add it elsewhere in the collection. &amp;nbsp;Maybe, using Reflection... My workaround however works by creating rearranged sets of SortFields for each sorting. &amp;nbsp;To prepare for the workaround, create a simple formula: &lt;b&gt;{@SortOtherData1}&lt;/b&gt; =&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;formula = {QueryMain.OtherData}&lt;/span&gt;&lt;/blockquote&gt;&lt;u&gt;SortFields(3-7) ..&amp;nbsp;&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;Other fields sort on other fields not listed... &lt;i&gt;PriorityOrder1&lt;/i&gt;, &lt;i&gt;IsGreen1&lt;/i&gt;, &lt;i&gt;TotalScore1&lt;/i&gt;, .. etc.&lt;br /&gt;&lt;br /&gt;In my code I load up the report...&lt;br /&gt;&lt;blockquote class="tr_bq" style="background: #CCCCFF;"&gt;&lt;span style="color: blue;"&gt;daMain.Fill(rds.QueryMain)&lt;br /&gt;Dim rpt As New ManagementReport&lt;br /&gt;rpt.SetDataSource(rds)&lt;br /&gt;rpt.SetParameterValue("Param1", paramString1)&lt;br /&gt;rpt.SetParameterValue("Param2", paramDate2)&lt;br /&gt;CrystalReportViewer1.ReportSource = rpt&lt;/span&gt;&lt;/blockquote&gt;I have toggle buttons on the form, to select different sort orders:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;span style="color: #351c75;"&gt;Sort 1 - is the default sort order.&lt;br /&gt;Sort 2 - By Item Ref&lt;br /&gt;Sort 3 - By Highest Score&lt;/span&gt;&lt;/blockquote&gt;The issue I was having was that when I assigned FormulaFieldDefinition &lt;b&gt;{@ItemRef1}&lt;/b&gt; to SortFields(0) I would get the COMException (as above) from CrystalReports. &amp;nbsp;The answer was to make an exact copy of &lt;b&gt;{@ItemRef1}&lt;/b&gt;'s code and save as a new formula &lt;b&gt;{@ItemRef2}&lt;/b&gt;. &amp;nbsp;Repeat this for all SortFields. &amp;nbsp;Now the reason for not using&amp;nbsp;&lt;i&gt;FieldDefinitions&lt;/i&gt;&amp;nbsp;for sorting, and converting them to &lt;i&gt;FormulaFieldDefinitions&lt;/i&gt; becomes apparent...&lt;br /&gt;&lt;br /&gt;If you have assigned a FieldDefinition to a SortField, you cannot assign it to another SortField without removing it first. &amp;nbsp;But if you create a FormulaFieldDefinition based on the field, then you can have copies of the&amp;nbsp;FormulaFieldDefinition and assign them without the clash. &amp;nbsp;You simply have to make sure you replace all SortFields in one go... &amp;nbsp;Something like the following resorts the loaded report without having to reload the data... works like a charm... :-)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;[Note: All the &lt;i&gt;SortField&lt;/i&gt;s assigned by default end with the number, &lt;b&gt;1&lt;/b&gt;. &amp;nbsp;And assuming only 5 fields assigned.]&lt;/span&gt;&lt;br /&gt;&lt;span style="font-size: x-small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div style="background: #CCCCFF; margin-left: 10px;"&gt;&lt;span style="color: blue;"&gt;Sub Sort2ByItemRef()&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rpt = CType(CrystalReportViewer1.ReportSource, ManagementReport)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim thisSort As SortFields = rpt.DataDefinition.SortFields&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(0).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;ItemRef2&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(1).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortOtherData2&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(2).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;IsNotInItemTable2&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(3).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortPriority2&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(4).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortHighestScore2&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CrystalReportViewer1&lt;/span&gt;&lt;span style="color: blue;"&gt;.ReportSource = rpt&lt;/span&gt;&amp;nbsp;&lt;span style="color: blue;"&gt;&lt;br /&gt;End Sub&lt;br /&gt;Sub Sort3ByItemRef()&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; rpt = CType(CrystalReportViewer1.ReportSource, ManagementReport)&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; Dim thisSort As SortFields = rpt.DataDefinition.SortFields&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(0).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortHighestScore3&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(1).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortPriority3&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(2).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;IsNotInItemTable3&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(3).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;SortOtherData3&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; thisSort(4).Field = rpt.DataDefinition.FormulaFields.Item("&lt;b&gt;ItemRef3&lt;/b&gt;")&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CrystalReportViewer1.ReportSource = rpt&lt;br /&gt;End Sub&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;I've got it working... Added a new Sub called Sort1Default .. to revert to default sort order (by assigning sort fields ending in '1' in the default order...&lt;br /&gt;&lt;br /&gt;And those were the simpler reports... now onto the massive Detailed Customer report... &amp;nbsp;It's taken a few hours to get my head around these SortFields and dynamically changing them ... no doubt someone is going to tell me I could have done it a simpler way... Do let me know... As it stands, these reports were being run from Access and that was fraught with difficulties because first you have to find the most up-to-date MDB... then check it works with the most up-to-date backend MDB... and then check to see if the queries are up-to-date... &amp;nbsp;That's many hundreds hours saved in the long term.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6069463140573117542?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6069463140573117542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2012/02/crystal-reports-sorting.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6069463140573117542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6069463140573117542'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2012/02/crystal-reports-sorting.html' title='Crystal Reports: Sorting'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/-rViIncD6Gr8/TykQmOfK8pI/AAAAAAAAAuI/30SBm7vKKAc/s72-c/ItemUid.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6487277633320016510</id><published>2011-11-03T13:25:00.000Z</published><updated>2011-11-03T04:42:11.075Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nx9005'/><category scheme='http://www.blogger.com/atom/ns#' term='Dust'/><title type='text'>old Compaq nx9005 - RIP</title><content type='html'>&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;I was working on my nx9005 last night, taking some study notes... when there was the sound of a small tick and then a smell of burning electronics. I unplugged it from the life support system (power supply) and removed the battery.&lt;br /&gt;&lt;br /&gt;The fan had been overworking for many a year. &amp;nbsp;I had performed surgery on the laptop several times to unclog the arteries within the fan unit from dust... but this was not enough... the multiple surgeries on the machine led to several further side effects due to aging of joints, such as limb failure (TouchPad) and front panel failure (power/wifi/BT indicator leds).&lt;br /&gt;&lt;br /&gt;I pronounced my nx9005 dead at 5:30am 2nd Nov 2011 at the ripe old age of 8 1/2 years.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;RIP.&lt;br /&gt;&lt;br /&gt;The hard disk, WiFi card, optical reader and power supply were offered for donor parts. &amp;nbsp;All other parts are scrap.&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-3TfZbE733Z4/TrFkektAslI/AAAAAAAAAqg/nHRPiAQQ2wE/s1600/IMGP4166.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-3TfZbE733Z4/TrFkektAslI/AAAAAAAAAqg/nHRPiAQQ2wE/s400/IMGP4166.JPG" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;The nx9005 had received a fair old innings as a development machine, media machine, word processing and spreadsheets, remote desktop support ... but spent its last year or two retired for general lap warming and as a TV guide / general browser duties...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;[&lt;b&gt;Edit 14:25&lt;/b&gt; - old habits die hard:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;Here's a photo after a few minutes of post-mortem... There's a good HD, Fan Unit, DVD Writer, Floppy, HD Caddy, AMD Processor, RAM PC2100 2x 512MB and a set of screws for the nx9005 (less one that is stuck in the casing)&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;[&lt;b&gt;Edit 03:33&lt;/b&gt; - I've had a Eureka moment...&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-eKo946bBing/TrIMbodVNSI/AAAAAAAAArE/dy9TT7BHwns/s1600/IMGP4166inset.JPG" imageanchor="1" style="clear: right; float: right; margin-bottom: 1em; margin-left: 1em;"&gt;&lt;img border="0" height="240" src="http://3.bp.blogspot.com/-eKo946bBing/TrIMbodVNSI/AAAAAAAAArE/dy9TT7BHwns/s320/IMGP4166inset.JPG" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;A long time ago when I was (probably) cleaning the fan, I remember a small component fell off.. but I could not place it. &amp;nbsp;The PC worked so I simply ignored it.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;As I was taping all the screws into a nice ordered file, ready for salvaging for spare parts... The other grey square component fell off - again I didn't notice where it came from.. But I have just realised I could download a photo of the motherboard from Google, and compare mine with a new one... The circled area is missing a component! &amp;nbsp;(Now it is missing both - so I could have simply compared it with this picture I took earlier.) &amp;nbsp;And the smell of burning is strongest around this area... I wonder what these components are for.. Could I attach a couple of new ones and get the old laptop working again? &amp;nbsp; I would, of course, have to fish the battery, and other bits and pieces out of the bin... nah... I don't think I can be bothered... &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;For anyone who want a service manual, I found this:&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;a href="http://www.hp.com/ctg/Manual/c00246219.pdf"&gt;http://www.hp.com/ctg/Manual/c00246219.pdf&lt;/a&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 16px;"&gt;It covers nx9005, nx9000, nx9008, nx9010 and the ze series, and a few Presarios...&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;There's a handy list of POST Codes and Beep codes too... and diagrams of how to take your nx9005 to pieces...&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;Having looked around eBay there are plenty of people selling old parts... even faulty motherboards... I think I might have a go to see how much money I can make from scrap ... than I could selling it as a faulty whole...&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: 12px; line-height: 16px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6487277633320016510?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6487277633320016510/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/11/old-compaq-nx9005.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6487277633320016510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6487277633320016510'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/11/old-compaq-nx9005.html' title='old Compaq nx9005 - RIP'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-3TfZbE733Z4/TrFkektAslI/AAAAAAAAAqg/nHRPiAQQ2wE/s72-c/IMGP4166.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-833822701764052635</id><published>2011-09-28T23:44:00.003+01:00</published><updated>2011-09-28T23:44:28.281+01:00</updated><title type='text'>Visual Studio 2008 and the corrupt (ADO-based-only) Dataset Editor</title><content type='html'>I have been struggling with VS2008 and the DataSet Designer for the last .. nearly 24 hours. &amp;nbsp;I've got one project with 5x ADO Datasets and one Dataset that is not attached to a database via a connection string. &amp;nbsp;I've not had this project open for a while... during which the following events have happened:&lt;br /&gt;&lt;br /&gt;1) SQL Server 2005 Security Update for SP3 (KB2494113) failed because I had to catch a train - leaving SQL Server 2005 Standard in a corrupt and un-runable state... I managed to attach the database I was working on into SQL 2008 Express - so I didn't lose much in time... I have left SQL 2005 in that state since today and successfully installed SQL 2005 SP4 which has revived my corrupt SQL Server and the database is still attached and working... (now to update it with changes since then)&lt;br /&gt;&lt;br /&gt;2) Several VS2008 Post SP1 Updates - namely: KB2538241, KB2251487, KB971092... It looks like I have installed them about 10 times each... this was down to what I think was a fault with WindowsUpdate in that it kept on offering me the same updates over and over - even after a successful install.... I managed to fix those and some recurring Office 2007 Updates with the automated FixIt from: &lt;a href="http://support.microsoft.com/kb/971058"&gt;http://support.microsoft.com/kb/971058&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So... now my VS2008 projects open, compile and run perfectly well... all except from trying to open them in the "&lt;i&gt;DataSet Editor&lt;/i&gt;" (right click the DataSet and choose &lt;i&gt;Open With...&lt;/i&gt;&amp;nbsp;you'll see a list of options. &amp;nbsp;It's a poor design because despite the great amount of control you have over add-ins and developing for VS you aren't shown what actions are taken when you click on any of the items in this list. &amp;nbsp;My guess is that you have to check the registry...&lt;br /&gt;&lt;br /&gt;I select DataSet Editor from the list and I get this helpful error message:&lt;br /&gt;&lt;br /&gt;"&lt;span class="Apple-style-span" style="color: red;"&gt;Load DataSet Error: &amp;nbsp;Failed to load dataset because of the following error: &amp;nbsp;Illegal characters in path&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;Er... what path? &amp;nbsp;Click ok and the panel is filled... "To prevent possible data loss before loading the designer, the following errors must be resolved: Illegal characters in path. &amp;nbsp;Show call stack:"&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;at System.IO.Path.CheckInvalidPathChars(String path)&lt;br /&gt;at System.IO.Path.IsPathRooted(String path)&lt;br /&gt;at Microsoft.VSDesigner.Data.Local.ConnectionStringConverter.ToRunTime(Project project, ConnectionString csToConvert)&lt;br /&gt;at Microsoft.VSDesigner.VSDesignerPackage.AppSettingsHelper.AddServerExplorerConnections(IServiceProvider serviceProvider, IList connections)&lt;br /&gt;at Microsoft.VSDesigner.VSDesignerPackage.GlobalConnectionService.Microsoft.VSDesigner.VSDesignerPackage.IGlobalConnectionService.GetConnections(IServiceProvider serviceProvider, Project project)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignConnection.GetConnectionFromAppSettings(String objectName, String propertyName, Project currentProject)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignConnection.GetConnectionStringObject(Project targetProject)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignConnection.get_ConnectionStringObject()&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DbSource.set_Connection(IDesignConnection value)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignDataSource.SetConnectionProperty(Source source)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignDataSource.ReadXmlSchema(DataSourceXmlTextReader xmlReader)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.DesignDataSource.ReadXmlSchema(TextReader textReader)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.Designer.DataSourceSerializationService.DeserializeToDataSource(String filePath, Object serializationData)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.ProjectDataSourceDescriptor.LoadDataSource()&lt;br /&gt;at Microsoft.VSDesigner.DataSource.ProjectDataSourceDescriptor.Init(IServiceProvider provider, IVsHierarchy primaryHierarchy, UInt32 primaryItemId, Object primaryDocDataObject, UInt32 docCookie, IVsInvisibleEditor invisibleEditor, IDesignerHost host)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.ProjectDataSourceStorage.EnsureInvisibleEditor(ProjectItem dsProjectItem, Boolean ensureWritable, Boolean createInvisibleEditor, Boolean getUIInfo)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.ProjectDataSourceStorage.GetDataSourceInternal(Object caller, ProjectItem dsProjectItem, Boolean ensureWritable, Boolean createInvisibleEditor, Boolean getUIInfo)&lt;br /&gt;at Microsoft.VSDesigner.DataSource.Designer.DataSourceDesignerLoader.HandleLoad(IDesignerSerializationManager serializationManager)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Ok,, I get there's a problem... I created a new project, and a new dataset using another database, a different driver (SQL not Jet), the designer loaded and I added a few tables... close the designer... re-open the designer and the same error message appears... &amp;nbsp;so it's not something in the ConnectionString - because I can add tables to a new DataSet in the Designer... and it's not to do with the Designer because I can still create DataSets...&lt;br /&gt;&lt;br /&gt;I have another DataSet that has some hand-built tables... none of the tables in the Dataset are from databases... and this DataSet loads into the Designer as expected... no problems...&lt;br /&gt;&lt;br /&gt;A further curious addition to this problem... Double click on DataSet1.xsc (View All Files must be checked to see the auto-generated .XSC file)... I can see the XML, but now another message pops up:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;"&lt;span class="Apple-style-span" style="color: red;"&gt;MS Visual Studio: &amp;nbsp;Package Load Failure&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;&lt;span class="Apple-style-span" style="color: red;"&gt;Package 'Microsoft.VisualStudio.XsdDesigner.Package.DesignerPackage' has failed to load properly ( GUID = {20AAF8FA-14C0-4897-8CA0-4D861E2B1212} ). &amp;nbsp;Please contact package vendor for assistance. &amp;nbsp;Application restart is recommended, due to possible environment corruption. &amp;nbsp;Would you like to disable loading this package in the future? &amp;nbsp;You may use 'devenv /resetskippkgs' to re-enable package loading.&lt;/span&gt;" &amp;nbsp;Yes/No&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No, thanks... &amp;nbsp; But there's a GUID.. before closing that message.. open Regedit... HK_Local Machine.. Software.. Microsoft.. Visual Studio.. 9.0 .. look down the list, I see Packages.. and 20AA -&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;CodeBase = C:\Program Files\Microsoft Visual Studio 9.0\Common7\IDE\PrivateAssemblies\Microsoft.VisualStudio.XsdDesignerPackage.dll&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;InProcServer32 = C:\Windows\system32\mscoree.dll&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;MinEdition = Standard&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;ProductName = XML Schema Designer&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: xx-small;"&gt;ProductVersion = 1.0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Looks ok to me.. the file exists in that location - version 9.0.30729.1 - 30/07/2008.&lt;br /&gt;&lt;br /&gt;I see people suggesting starting devenv with switches such as '&lt;i&gt;devenv /resetsettings&lt;/i&gt;' '&lt;i&gt;devenv /resetskippkgs&lt;/i&gt;', '&lt;i&gt;devenv /setup&lt;/i&gt;' ... I tried them all... I even ran '&lt;i&gt;devenv /log&lt;/i&gt;' to create a log of the problem... but the log doesn't show the right level of detail around the event... there are warnings about loading SpecExplorer, CodeRush and another third-party add-in... Refactor?.. but none of these should interfere with the Dataset Designer...&lt;br /&gt;&lt;br /&gt;I have now tried, right-clicking on a dataset and choosing to "&lt;i&gt;Run Custom Tool&lt;/i&gt;" ... but the custom tool, &lt;i&gt;MSDataSetGenerator&lt;/i&gt;, throws the same '&lt;span class="Apple-style-span" style="color: red;"&gt;Illegal characters in path&lt;/span&gt;' error and this leaves my project with over 100 errors... most of which are now: "&lt;span class="Apple-style-span" style="color: red;"&gt;Type 'SurveyDataSet' is not defined&lt;/span&gt;" "&lt;span class="Apple-style-span" style="color: red;"&gt;Type ttt is not defined&lt;/span&gt;" &amp;nbsp;- the first error is "&lt;span class="Apple-style-span" style="color: red;"&gt;Custom Tool Error: Failed to generate code. &amp;nbsp;Illegal characters in path&lt;/span&gt;" ...&lt;br /&gt;&lt;br /&gt;Because I tried to open the XSC file and it played with the XsdDesigner.. I'm also getting this:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: red; font-size: xx-small;"&gt;Warning &amp;nbsp;104 &amp;nbsp;The 'urn:schemas-microsoft-com:xml-msdatasource:DataSetUISetting' element is not declared.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;C:\Data\Projects\Test1\Datasets\DataSet1.xsc&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I can ignore that .. because once I press compile it'll all go away... Nope.. it didn't go away... I'll try restarting VS2008 - hmm still all 'not defined'... Check the recycle bin - and the DataSet1.Designer.vb file is in there!! &amp;nbsp;Restore, refresh the Solution Explorer and include DataSet1.Designer.vb in project... and all back to normal... &amp;nbsp;well to whatever 'normal' is defined as today at least...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So.. where is the problem? &amp;nbsp;It must be something the Designer is loading? &amp;nbsp;Because the designer loads, and only fails to continue loading if the database links to ADO... It's trying to read the XML Schema.. which then has to get the connection string.. it's getting the connection string from AppSettings... and then failing...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I&amp;nbsp;load app.config - I receive the above Package Load Failure - for XsdDesigner ... and now the error messages are picking up on schema information:&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-small;"&gt;Message&amp;nbsp;&amp;nbsp;Could not find schema information for the element 'userSettings'.&amp;nbsp;C:\Data\Projects\Test\app.config&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: red; font-size: x-small;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;Message &amp;nbsp;Could not find schema information for the element 'Test.My.MySettings'.&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;C:\Data\Projects\Test\app.config&lt;/div&gt;&lt;div&gt;[..... and so on... for 'setting' 'name' 'serializeAs' 'value' ... until the end of the file...]&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One of the updates was a new XmlEditor file... &lt;a href="http://support.microsoft.com/kb/2251487"&gt;MS11-049 Security Update for VS2008 SP1: June 14, 2011&lt;/a&gt;&amp;nbsp;(KB2251487). &amp;nbsp;This includes a new Microsoft.XmlEditor.dll ... no other supporting files... or changes to the Designer.. MS11-049 is really about XML throughout the Operating System... it affected SQL Server, VS and MSXML... &amp;nbsp;If the Editor were at fault, then I would have a problem with ALL datasets?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;------------------- &amp;nbsp;FIXED -------------------&lt;br /&gt;To cut this long story short... I fixed it... I decided to download the last Service Pack.. To re-install VS2008 SP1. &amp;nbsp;The Microsoft.XmlEditor.dll file above is still there, so it may not have overwritten newer files... but it has sorted out whatever was corrupted in the files, registry or oledb_services... I can now edit DataSets again...&lt;br /&gt;&lt;br /&gt;In order to re-install VS2008 SP1... I had to clear out 4GBs off my hard disk.. SP1 requires about 5.6GB free space... and it's left me with 4.3GB free (there's half a gig in a folder called 'Microsoft Visual Studio 2008 SP1' in my temp folder.. I might just copy that to my spare disk - just in case..)&lt;br /&gt;&lt;br /&gt;At least this exercise has introduced me to VS Packages, how they work... I've fixed my broken SQL Server 2005 Standard install... and had a few ideas about moving on... (upgrading projects to VS2010, moving VS2008 to a VirtualMachine, or having one VirtualMachine with VS2008 or VS2010 per client... and all their individual projects... I may only have bought myself a few more weeks... this Lenovo 3000 is nearing it's '&lt;i&gt;Use By&lt;/i&gt;' date anyway...&lt;br /&gt;&lt;br /&gt;Back to work...&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-833822701764052635?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/833822701764052635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/09/visual-studio-2008-and-corrupt-ado.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/833822701764052635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/833822701764052635'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/09/visual-studio-2008-and-corrupt-ado.html' title='Visual Studio 2008 and the corrupt (ADO-based-only) Dataset Editor'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4965616036800659454</id><published>2011-06-11T06:32:00.003+01:00</published><updated>2011-07-13T16:23:45.857+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Exchange Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS 2011'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2010'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='BES'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>Orphaned Mailboxes and Users after migration from SBS 2003 to SBS 2011</title><content type='html'>I got a call today from a colleague doing a migration from SBS2003 to SBS2011 ... Exchange 2003 to 2010.&lt;br /&gt;&lt;br /&gt;Mailboxes had been copied and he had decommissioned the old server to find that the mailboxes were not there... they were not showing up in the new server... had deleting them removed them from both servers?&lt;br /&gt;&lt;br /&gt;At that stage you will have disconnected the connector between the two servers...&lt;br /&gt;&lt;br /&gt;First .. go to the disk and check the size of the Exchange Store on the disk... The new store should be the same number of Gb as the old one...&lt;br /&gt;&lt;br /&gt;Second.. open the Exchange Mgmt Console and type&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-MailboxStatistics -Server servername&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;This should list all the mailboxes on the server. &amp;nbsp;You need to add a little bit to get more details...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-MailboxStatistics -Server servername | select DisplayName, DisconnectReason, LegacyDN, ItemCount, MailboxGuid, Database&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Moved mailboxes all had a LegacyDN that contains 'first adminstrative group' - this is normal and there's no need to spend hours, as I did, thinking it was an error and trying to correct it... Apparently that doesn't matter...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;What really mattered was &lt;b&gt;&lt;u&gt;time&lt;/u&gt;&lt;/b&gt;... wait... &amp;nbsp;The mailboxes we had transferred over were large - around 2-4GB... they were neither disabled nor anything... the new server simply had not finished processing them. &amp;nbsp;I came back to the problem about 12 hours later and they were showing up... perhaps it took less time, but they eventually showed up... in the meantime, I had created some problems for myself...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Users were showing up in AD Users and Computers, but not showing up in SBS Console - I tried remedying that using the &lt;a href="http://blogs.technet.com/b/sbs/archive/2008/09/22/why-are-some-of-my-users-not-displaying-in-the-sbs-console.aspx"&gt;'Change User Roles' trick&lt;/a&gt;&amp;nbsp; &amp;nbsp;But that just created a second mailbox that started collecting emails ... and didn't connect to the old mailbox... &amp;nbsp;Worry about users not showing up in SBS Console&amp;nbsp;&lt;u&gt;AFTER&lt;/u&gt; the mailboxes show up. &amp;nbsp;When all your users are connected to their mailboxes then run the 'Change User Role' trick.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you have created a duplicate mailbox, the ItemCount has increased and you really don't want to lose a single email, try connecting via OWA - you might be able to hook up the '&lt;a href="http://www.enowconsulting.com/ese/2009/10/exhange-2010-new-archiving-feature.html"&gt;Archive&lt;/a&gt;' function and archive those emails out for later retrieval... &amp;nbsp;The mailboxes I created only picked up 1 or 2 emails and so I disabled the mailbox and used the &lt;i&gt;Get-DisconnectedMailbox username | Remove-DisconnectedMailbox&lt;/i&gt; code from &lt;a href="http://www.mikepfeiffer.net/2010/06/managing-disconnected-exchange-mailboxes-with-powershell/"&gt;Mike Pfeiffer&lt;/a&gt;&amp;nbsp;to get rid of the newly created mailbox.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Soon.. all mailboxes were showing up - they appeared in Disconnected Mailboxes in Exchange Manager. &amp;nbsp;So I selected the mailbox and tried to connect them to a user... but the user was not showing up... The mailbox name was correct - but Exchange could not see the users in Active Directory.. strange...&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-User&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Very simple... it produces a list of users and their &lt;b&gt;RecipientType&lt;/b&gt;. &amp;nbsp;The users that Exchange could not see had a type of 'User' but those Exchange can see have a type 'UserMailbox'.... &amp;nbsp;how to enable them?&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-User | where-object{$_.Name -eq "&lt;i&gt;User's Name&lt;/i&gt;"}&lt;/span&gt; &amp;nbsp; - this should list one user (just to check before changing anything...) &amp;nbsp;if ok, run this:&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-MailboxDatabase -Server &lt;i&gt;servername&lt;/i&gt;&lt;/span&gt; &amp;nbsp; &amp;nbsp; - this gets the name of the database to use in this:&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;Get-User | where-object($_.Name -eq "&lt;i&gt;user's name&lt;/i&gt;") | Enable-Mailbox -Database "&lt;i&gt;database name&lt;/i&gt;"&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;Now run &lt;i&gt;Get-User&lt;/i&gt; and check the user has changed RecipientType to &lt;i&gt;UserMailbox&lt;/i&gt;.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now you can go back to Disconnected Mailboxes in Exchange Manager and run Connect to connect them to their mailbox... (if it didn't do it for you when you ran &lt;i&gt;Enable-Mailbox&lt;/i&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once you have connected all your users up.. go to SBS Console -&amp;gt; Users and Groups -&amp;gt; Users... and run the 'Change User Roles' task - select 'Standard User' in the roles and below select 'Add Role to Users' (NOT 'Replace' - then you are not changing anything). &amp;nbsp;On the next page you click the checkbox at the bottom 'Show all users from AD' and select all the users (one to start with to test) who you don't see in SBS Console... &amp;nbsp;run it all through and refresh the view.. all the users should now show up.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;One last thing I forgot... and perhaps a trick to get around this issue too... when you run the 'Change User Roles' task each user is given an email address based on the current '&lt;b&gt;Email Address Policy&lt;/b&gt;' ... this is in Exchange Manager.. under &lt;b&gt;Organization Configuration -&amp;gt; Hub Transport -&amp;gt; E-mail Address Policies -&amp;gt; Windows SBS Email Address Policy&lt;/b&gt; ... unfortunately 'First Name Only' is &lt;b&gt;NOT&lt;/b&gt; an option.. duh! &amp;nbsp;But we can get around that...&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Start -&amp;gt; Run -&amp;gt; adsiedit.msc &amp;nbsp;&amp;lt;- take care with this... if you get this far you probably are fine...&lt;/li&gt;&lt;li&gt;right-click on AdsiEdit -&amp;gt; Connect To... -&amp;gt; Select a Well-known Naming Context -&amp;gt; &lt;b&gt;Configuration&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Select Configuration in the console left panel -&amp;gt; then Configuration -&amp;gt; Services -&amp;gt; Microsoft Exchange -&amp;gt; &amp;nbsp;&lt;i&gt;servername&lt;/i&gt; -&amp;gt; &lt;b&gt;Recipient Policies&lt;/b&gt;&lt;/li&gt;&lt;li&gt;In the right-hand panel for &lt;b&gt;Recipient Policies&lt;/b&gt; - right-click&amp;nbsp;&lt;b&gt;Windows SBS Email Address Policy&lt;/b&gt;&amp;nbsp;select Properties&lt;/li&gt;&lt;li&gt;Click the Filter button and choose to show only attributes that have values&lt;/li&gt;&lt;li&gt;gatewayProxy has a value of &lt;b&gt;SMTP:%m@mydomain.com&lt;/b&gt; chang&lt;/li&gt;&lt;li&gt;Click gatewayProxy and Edit - change to &lt;b&gt;SMTP:%g@mydomain.com&lt;/b&gt;&amp;nbsp;- %g is FirstName&lt;/li&gt;&lt;li&gt;click ok and exit out of AdsiEdit.msc&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;And finally .. a warning if you have Blackberry Enterprise Server running... I think I read somewhere there was a knowledgebase article from RIM about what to do in the migration.. .. it was for Exchange 2003 to 2007.. but best to take heed of any advice before attempting to migrate...&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.enowconsulting.com/ese/2009/04/bes-co-existence-during-exchange-2003.html"&gt;http://www.enowconsulting.com/ese/2009/04/bes-co-existence-during-exchange-2003.html&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4965616036800659454?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4965616036800659454/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/06/orphaned-mailboxes-and-users-after.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4965616036800659454'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4965616036800659454'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/06/orphaned-mailboxes-and-users-after.html' title='Orphaned Mailboxes and Users after migration from SBS 2003 to SBS 2011'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-8363176202336401267</id><published>2011-06-06T16:13:00.002+01:00</published><updated>2011-06-06T16:18:35.770+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='BESAdmin'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='WMI'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='BES'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS2003'/><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='BESMgmt'/><category scheme='http://www.blogger.com/atom/ns#' term='BESX'/><category scheme='http://www.blogger.com/atom/ns#' term='SQL'/><category scheme='http://www.blogger.com/atom/ns#' term='WBEM'/><title type='text'>BES Hell and the Case of the Missing Window</title><content type='html'>I was called on Friday... BES Express server down... numskull pulled the plug out of the wall... possibly during a SQL write... pages broken... help!&lt;br /&gt;&lt;br /&gt;BESX - version 5.0.2 (Bundle 14)&lt;br /&gt;&lt;br /&gt;Where do I start?&lt;br /&gt;&lt;br /&gt;Logged into SQL Manager and ran "dbcc checkdb" on all the databases.... consistency errors in some of the tables in BESX...&amp;nbsp;ran "dbcc checkdb (&amp;lt;dbname&amp;gt;, repair_allow_data_loss)"&amp;nbsp;ran "dbcc&amp;nbsp;rebuildindex &amp;lt;tablename&amp;gt;" on the tables... 12 consistency errors fixed... &amp;nbsp;I accept some data loss in this...&lt;br /&gt;&lt;br /&gt;BESX Administration Service - "&lt;span class="Apple-style-span" style="color: #660000;"&gt;cannot find the requested page&lt;/span&gt;"&amp;nbsp;or "&lt;span class="Apple-style-span" style="color: #660000;"&gt;Internet Explorer cannot display the webpage.&lt;/span&gt;" - the same goes for Web Desktop Manager. &amp;nbsp;The joy of tying up all of your software's capabilities into a single jvm.dll based web UI... you can't be blamed if it doesn't load up....&lt;br /&gt;&lt;br /&gt;So what is to blame? &amp;nbsp;I don't know.. I search high and low... In the end I uninstalled BESX. &amp;nbsp;To my regret.&lt;br /&gt;&lt;br /&gt;One step back... I wanted to repair install BESX. &amp;nbsp;So I ran the installer - it stopped - error 2803. &amp;nbsp;I stopped all the services and tried again. &amp;nbsp;This time to install BESX "over the top". &amp;nbsp;I got through to the "Use Existing Configuration Database" .. cool... I can simply install this over the top...&lt;br /&gt;&lt;br /&gt;Too soon!   "&lt;span class="Apple-style-span" style="color: #660000;"&gt;The BlackBerry Configuration Database that you specified is associated with a previous installation of the &lt;u&gt;BlackBerry Enterprise Server&lt;/u&gt; or BlackBerry Professional Software.  You must create a new BlackBerry Configuration Database for &lt;u&gt;BlackBerry Enterprise Server Express&lt;/u&gt; or specify a database that is associated with a previous installation of BlackBerry Enterprise Server Express.&lt;/span&gt;"&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I got fed up with it here - it IS a Config DB for BESX not BES - what are RIM talking about with this error message?... time was running out and I it had to be ready for Monday morning... so I uninstalled BESX. &amp;nbsp;I regret.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Oh joy... I bet this has something to do with AVG... (lol... I did check but I think AVG was acting normally... it had 58,124 "&lt;span class="Apple-style-span" style="color: #660000;"&gt;Virus Found FakeAlert&lt;/span&gt;" messages that took forever to not delete.. so when I came back much later a) the program had crashed and b) they had not been deleted ... i so love AVG - not)...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found somewhere online mention that I should check that the user BESADMIN has "Allow Log on Locally" as a right before I install BESX (on a side note - I checked through the Release Notes for BESX 5.0.3 (Bundle 12) and decided to download that - in case they'd fixed the 'configuration database is associated with BES and not BESX' error message (bug)... so .. Local Security Policy... er... what's going on here?&lt;/div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #660000;"&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif; font-size: x-small;"&gt;MMC could not create the snap-in&lt;br /&gt;MMC could not create the snap-in The snap-in might not have been installed&amp;nbsp;correctly.&lt;br /&gt;Name: Group Policy object Editor&lt;br /&gt;CLSID:{8FC0B734-A0E1-11D1-A7D3-0000F87571E3}&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;div&gt;Darn it... something messed up with secpol.msc... Apparently we need gpedit.dll and gptext.dll... they are in System32 folder... and they are registered.. ("regsvr32 gptext.dll" worked but gpedit.dll threw a wobbly...) ... But that didn't solve it... I also need FrameDyn.dll from the wbem folder... it's there... and the program has to find that on the environment variable, &lt;b&gt;PATH&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Right... System Properties -&amp;gt; Advanced -&amp;gt; Environment Variables -&amp;gt; PATH= ... er... "...C:\System32;C:\System32\wbem;..." &amp;nbsp;WTF?! &amp;nbsp;Where has the "\Window" bit gone? &amp;nbsp;It goes to show that Windows Server can survive, just about, with this missing ... if you search around online for "c:\system32\wbem" it should not exist ... but it does exist - in one place someone uses it in a solution for the FrameDyn.dll .. &amp;nbsp;we are pointed to this kb&amp;nbsp;&lt;a href="http://support.microsoft.com/?kbid=826282"&gt;http://support.microsoft.com/?kbid=826282&lt;/a&gt;&amp;nbsp; - be careful with implementing the solution... check that you don't just have a missing 'Window' next to the wbem path.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I wonder now... in retrospect, whether this missing Window was actually the cause of BESX not being able to load the Admin Service or Web Manager. &amp;nbsp; It can't check the security principals etc... It can't find WMI...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BESX installed... we couldn't restore the old database over the top.. or copy data from the old db to the new... so we have had to wipe all the users' Blackberrys and reload them... thanks RIM...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The night was so long I can't remember if that was all there was... Space was an issue... an old server, so of course the Windows\installer folder was taking up several gigabytes which can't be removed safely... and the size of the system drive was only 12GB... from the days of small disks... &amp;nbsp;time for a complete re-install perhaps...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I doubt anyone who reads this will have exactly the same problem .. this is a Blackberry Enterprise Server Express 5.02 SP1 issue I think.. plus the misfortune of a power failure (or a corrupted BESMgmt SQL DB from any other cause)... together with a malformed PATH variable... you have to be pretty unfortunate to have exactly the same symptoms... :)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I did wonder if it was a recent Windows Update that wrote the PATH variable incorrectly... &amp;nbsp;it appears to be somewhat common... I don't think people write "C:\System32\wbem" .. but someone has written: "%SYSTEM&lt;b&gt;DRIVE&lt;/b&gt;%\system32\wbem" instead of&amp;nbsp;"%SYSTEM&lt;b&gt;ROOT&lt;/b&gt;%\system32\wbem"&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Let me know if that's the work of a virus ... that's the one thing I didn't bother to look into...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-8363176202336401267?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/8363176202336401267/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/06/bes-hell-and-case-of-missing-window.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8363176202336401267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8363176202336401267'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/06/bes-hell-and-case-of-missing-window.html' title='BES Hell and the Case of the Missing Window'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3170764211677721782</id><published>2011-06-03T02:18:00.001+01:00</published><updated>2011-06-03T02:19:15.770+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Paint.NET'/><title type='text'>Paint.NET - can't update or remove 3.5.5</title><content type='html'>I appear to have been having problems updating &lt;a href="http://www.getpaint.net/"&gt;Paint.NET&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;I have version 3.5.5 and every time the installer runs to update I get an error about a missing MSI file in&lt;br /&gt;&lt;i&gt;C:\Program Files\Paint.NET\Staging&lt;/i&gt;. &amp;nbsp;Filename: &lt;i&gt;PaintDotNet_753582080.msi.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Perhaps the Paint.NET team introduced the Staging folder after 3.5.5... who knows... some suggestions on forums:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Uninstall completely - does not work because you cannot uninstall it...&lt;/li&gt;&lt;li&gt;Hack the registry - I guess that might work, that would have been my last option :)&lt;/li&gt;&lt;li&gt;Rename one of the existing MSI files in the Staging folder - it only works if the MSI is the same version as the version that is installed.&lt;/li&gt;&lt;li&gt;Use the &lt;i&gt;Windows Installer Cleanup Tool&lt;/i&gt; - now called the '&lt;a href="http://www.microsoft.com/downloads/en/details.aspx?FamilyID=0a162694-4d9d-4676-8283-1ba674374d71"&gt;Patch Registration Cleanup Tool&lt;/a&gt;'? - you could ... but I have a cleaner solution...&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;b&gt;How to update Paint.NET when asked for a Staging MSI:&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;Find out the version that is installed. - Mine is version 3.5.5&lt;/li&gt;&lt;li&gt;Go to &lt;a href="http://www.filehippo.com/download_paint.net/"&gt;File Hippo&lt;/a&gt; and download your current version.&lt;/li&gt;&lt;li&gt;You need to unpack the MSI from the downloaded EXE... run from a cmd.exe window (or Start Run):&lt;br /&gt;&lt;b&gt;Paint.NET.3.5.5.Install.exe /createMsi CHECKFORBETAS=0 DESKTOPSHORTCUT=0&lt;/b&gt;&lt;/li&gt;&lt;li&gt;Open the folder created on your desktop,&amp;nbsp;&lt;b&gt;PaintDotNetMsi,&lt;/b&gt;&amp;nbsp;and rename the file &lt;i&gt;PaintDotNet.x86.msi&lt;/i&gt; to &lt;i&gt;PaintDotNet_753582080.msi&lt;/i&gt;&amp;nbsp;or whatever filename Windows Installer is asking for.&lt;/li&gt;&lt;li&gt;Copy the MSI to C:\Program Files\Paint.NET\Staging&lt;/li&gt;&lt;li&gt;Re-run the Paint.NET update - or uninstaller.&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;Mine has just finished updating itself... and I now have 3.5.8 --- albeit after weeks of hoping that each next installer would sort itself out :) .. finally I have got round to fixing it myself ...&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3170764211677721782?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3170764211677721782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/06/paintnet-cant-update-or-remove-355.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3170764211677721782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3170764211677721782'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/06/paintnet-cant-update-or-remove-355.html' title='Paint.NET - can&apos;t update or remove 3.5.5'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4767434513959340607</id><published>2011-04-25T15:59:00.001+01:00</published><updated>2011-04-25T17:05:35.977+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='Errors'/><category scheme='http://www.blogger.com/atom/ns#' term='C#.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='QBFC10'/><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><title type='text'>Windows - No Disk - unhelpful Error Help messages</title><content type='html'>&lt;span class="Apple-style-span" style="color: #424244; font-family: Arial, Helvetica, sans-serif; font-size: 12px;"&gt;Windows - No Disk&lt;br /&gt;Exception Processing Message c0000013 Parameters 75b6bf9c 75b6bf9c.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I am trying to run a QuickBooks QBFC 10.0 C# application and every time it tries to BeginSession I get this error... &amp;nbsp;Continue / Try again / Cancel...&lt;br /&gt;&lt;br /&gt;I presume the "No Disk" error could indicate that there's a link to a file missing... nothing has changed...&lt;br /&gt;&lt;br /&gt;Whilst searching for a solution I discovered&amp;nbsp;&lt;a href="http://www.wiki-errors.com/wiki-errors.php?wiki=c0000013"&gt;www.wiki-errors.com&lt;/a&gt;&amp;nbsp;- a good idea I thought - but 1) it took this meaningless error and threw a load of meaningless rubbish back at me... I am no wiser why the problem occurred and I have now spent another 10 minutes reading something that didn't help... 2) I can't edit the Wiki at Wiki-errors.com ... doesn't that defeat the purpose of a wiki? &amp;nbsp;I can't see how I can sign up and edit it either... &amp;nbsp;a truly beautiful social solution would be to allow lots of technical minded people look up an error and add our experiences to the solution... I want to edit that page and tell my solution...&lt;br /&gt;&lt;br /&gt;but no.. I have now added yet another blog post to the massive number of blog posts about the "Windows - No Disk" error that is probably not very useful to anyone unless they happen to be developing QBFC10.0 in C# and one day their install goes tits up...&lt;br /&gt;&lt;br /&gt;Quick solution: &amp;nbsp;If you're using a third-party library and developing software... just reinstall the software... see if that helps...&lt;br /&gt;&lt;br /&gt;Actually I am not sure that was the answer now... there's a property on the referenced Interop.QBFC10lib.dll&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;b&gt;Embed Interop Types&lt;/b&gt;&lt;/i&gt; = True / False - I changed this from True to False as well as re-installed the underlying library... so either change could have resolved the problem...&lt;/li&gt;&lt;/ul&gt;[Edit]&lt;br /&gt;Just when I thought it was all fixed up... I now get the error again... it's gone from working to not working in the space of a blog post.&lt;br /&gt;&lt;br /&gt;Well on further reading through the internet sludge... I have switched back to debug again... when I press &lt;b&gt;Continue&lt;/b&gt; my program does actually run... it was not obvious at first because the program returns no data on first run at the moment, whereas it would have done a week ago, I forgot... &amp;nbsp;so stepping back through the pages, I can actually see data. &amp;nbsp;But I get the &lt;b&gt;No Disk&lt;/b&gt; error every time I begin a session with QuickBooks.&lt;br /&gt;&lt;br /&gt;I've got a couple of USB storage devices plugged into this laptop: an external USB HD and my printer has a card reader. &amp;nbsp;When I disconnect my printer, the error goes away. &amp;nbsp;When I connect my printer the error returns. &amp;nbsp;The external HD makes no difference.&lt;br /&gt;&lt;br /&gt;Recap.. my printer's card reader is throwing an error in my C# QBFC10lib project when I try to create a session... because there is no sd/cf card in the printer. &amp;nbsp;That's crazy... How on earth do I prevent this on user's computers... I am calling the BeginSession with a blank field... that's supposed to find the QB file that is currently open. &amp;nbsp;So the QuickBooks SDK &amp;nbsp;is calling a Windows function, that is returning a 'No Disk' error... shouldn't QuickBooks deal with that?&lt;br /&gt;&lt;br /&gt;Why provide us with a function that will bomb out randomly?&lt;br /&gt;&lt;br /&gt;New Solution: &amp;nbsp; Don't let QBFC10lib search for the file you need to access. &amp;nbsp;Specify it.&lt;br /&gt;&lt;br /&gt;Now to fix this inconsistent accessibility error (&lt;a href="http://msdn.microsoft.com/en-us/library/4sscdk02.aspx"&gt;compiler error CS0051&lt;/a&gt;)...&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: 'Segoe UI', Verdana, Arial; font-size: 13px;"&gt;Inconsistent accessibility: parameter type 'type' is less accessible than method 'method'&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Resolved... seems that if you declare a public method, then all the types used as parameters must be declared public too... like selling a DVD of a film to everyone and only allowing the film to be played by DVD players in the right region... &amp;nbsp;or like distributing a software library which will bomb out randomly under certain unhandled circumstances...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4767434513959340607?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4767434513959340607/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2011/04/windows-no-disk-unhelpful-error-help.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4767434513959340607'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4767434513959340607'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2011/04/windows-no-disk-unhelpful-error-help.html' title='Windows - No Disk - unhelpful Error Help messages'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4423197078734381500</id><published>2010-12-21T00:32:00.000Z</published><updated>2010-12-21T00:32:47.984Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='YouTube'/><category scheme='http://www.blogger.com/atom/ns#' term='Apps Migration'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='AdWords'/><category scheme='http://www.blogger.com/atom/ns#' term='My Client Center'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Apps'/><title type='text'>Google Apps Migration</title><content type='html'>I added a new Page&amp;nbsp;- to my blog - &lt;a href="http://oliverslay.blogspot.com/p/google-apps-migration-checklist.html"&gt;Google Apps Migration Checklist&lt;/a&gt; - a checklist of all the Google services that I had been using / or that one could use... and how I manage to transfer data from the standard accounts to the Apps account.&lt;br /&gt;&lt;br /&gt;I did have a google Profile... but I can't access it anymore... it links to my Picasaweb which I also can't access... &amp;nbsp;It's said that there are no Profiles or Buzz yet in Apps - so my only task would be to delete that profile and free the profile name?&lt;br /&gt;&lt;br /&gt;The trouble was that I had a Google Apps domain - oliverslay.com. &amp;nbsp;I already had a standard account @gmail.com ... When I tried to use Picasa or Profiles or other.. using my main email address, which was now in my Apps account, Google created a standard account with my oliverslay.com email - a third account! - through which I could access services not in Apps at the time.&lt;br /&gt;&lt;br /&gt;When they expanded the services for Apps users this month, I had to give the account tied to my main Apps user, a different email address... and I gave it another address within my oliverslay.com domain..... I think... but now I cannot access that account. &amp;nbsp;The Profile has in the URL, oliverslay ... and Picasa has my name on it... I would like to use them...&lt;br /&gt;&lt;br /&gt;I used Profile to send myself an email... the address on the profile sent a message to me.. and I received an email saying the message was sent... aha... it was sent to a different domain attached to my oliverslay.com Apps account... that means I can log in and transfer data across... phew!...&lt;br /&gt;&lt;br /&gt;An AdWords account can have any user attached to it... and any number of users to administrate it... but a single email address cannot be attached to more than one AdWords account. &amp;nbsp;That needs to be understood when switching accounts around. &amp;nbsp;If you log into AdWords it will open a new account... so now, no-one can make you an administrator of their account. &amp;nbsp;I had to create a new user... give them administrator access to my new account, grant them access... then log in as them and terminate my own access to that AdWords account... just so my email address was now free to be attached to my client's account.&lt;br /&gt;&lt;br /&gt;Trouble is, I discovered there's something called My Client Center - where you should be able to add various accounts in order to manage them...&amp;nbsp;&amp;nbsp;&lt;a href="http://www.google.com/intl/en/adwords/myclientcenter/"&gt;http://www.google.com/intl/en/adwords/myclientcenter/&lt;/a&gt;&amp;nbsp;&amp;nbsp;- So now I will have to terminate my access to my clients account and try again...&lt;br /&gt;&lt;br /&gt;I was lucky with YouTube... YouTube had their own accounts before Google took them over. &amp;nbsp;I had a YouTube account and one day I associated that account with my standard GMail login... I found that I could disassociate it from my account, log in using the old YouTube account (the username and password of which you have to be able to remember) and then associate with my Apps account. &amp;nbsp;My brother was not so lucky... he never had an original YouTube account - and would be forced to re-upload his videos to his new Apps address and he'd lose his YouTube nickname...&lt;br /&gt;&lt;br /&gt;Google Apps must be causing a lot of people a lot of headaches... it's not straightforward what can be done and what can't .. and nowhere is it made easy...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4423197078734381500?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4423197078734381500/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/12/google-apps-migration.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4423197078734381500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4423197078734381500'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/12/google-apps-migration.html' title='Google Apps Migration'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4670209104299616261</id><published>2010-11-28T20:33:00.000Z</published><updated>2010-11-28T20:33:54.316Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='nx9005'/><category scheme='http://www.blogger.com/atom/ns#' term='DrWatson'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows 7'/><category scheme='http://www.blogger.com/atom/ns#' term='drivers'/><title type='text'>old HP nx9005 - Win7</title><content type='html'>Finally I have Windows 7... installed on an old nx9005 - perfectly good laptop with a working OS... bit worn around the edges.. but why should I throw it? &amp;nbsp;The only thing that I've had to do with it in the past is install a new HD.. cos the Fujitsu one in there before developed the strange clicking problem... and I lost everything on it.. or perhaps I didn't .. I'm keeping it just in case, but I reckon it's got about 5 seconds of read time left if it ever does boot up because of my insistence on taken things apart .. :)&lt;br /&gt;&lt;br /&gt;Maybe i can just replace the read head with an exact same disk.. ? &amp;nbsp;I'm sure there's a disk recovery place somewhere in Ireland or Wales that can retrieve data from clicking drives.. I read a review once...&lt;br /&gt;&lt;br /&gt;Anyway.. drivers.. Conexant AC97 - wouldn't work in Win7... and HP are rubbish, they won't even develop anything for the nx9005... which is really really stupid... because the solution I found on MSDN Social Forum is merely a change in ONE LINE... &amp;nbsp;why on earth HP can't simply re-package the driver as Win7, with a single line edit (like I reckon MS used to do with DLLs between major Window's versions) .. Is it just down to Windows Compatibility signing? &amp;nbsp;My system didn't seem to care...&lt;br /&gt;&lt;br /&gt;The solution is on here... by Mr. Raven...&lt;br /&gt;&lt;a href="http://social.technet.microsoft.com/Forums/en-US/itprovistahardware/thread/2857c5ef-bc13-49ce-bdd8-99bddb7d6b10/"&gt;http://social.technet.microsoft.com/Forums/en-US/itprovistahardware/thread/2857c5ef-bc13-49ce-bdd8-99bddb7d6b10/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;It simply involves downloading the driver from HP - unpack and don't install:&lt;br /&gt;&lt;a href="http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-31530-1&amp;amp;lc=en&amp;amp;cc=us&amp;amp;dlc=en&amp;amp;product=1816346&amp;amp;os=228&amp;amp;lang=en"&gt;http://h10025.www1.hp.com/ewfrf/wc/softwareDownloadIndex?softwareitem=ob-31530-1&amp;amp;lc=en&amp;amp;cc=us&amp;amp;dlc=en&amp;amp;product=1816346&amp;amp;os=228&amp;amp;lang=en&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then edit the INF file... find the [Conexant] section and add a new line with the PCI bus enum that Win7 has assigned to your sound card... can be found in System Properties -&amp;gt; Device Manager -&amp;gt; open Sound Device -&amp;gt; Details tab -&amp;gt; Hardware Ids from the drop-down. &amp;nbsp;Mine now looks like this:&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-size: 11px; line-height: 13px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;[Conexant]&lt;br /&gt;%*WDM_AMCAUD.DeviceDesc%=WDM_AMCAUD,PCI\VEN_1002&amp;amp;DEV_4370&amp;amp;SUBSYS_3091103C&lt;br /&gt;%*WDM_AMCAUD.DeviceDesc%=WDM_AMCAUD,PCI\VEN_10B9&amp;amp;DEV_5451&amp;amp;SUBSYS_0024103C&lt;/span&gt;&lt;br /&gt;So I wonder could you do that with most drivers? &amp;nbsp;I guess you could try... Download the WindowsXP driver, find the INF file.. find the manufacturer section [Conexant] ... and add the new line...&lt;br /&gt;&lt;br /&gt;Only a few things change drastically between versions of Windows... and then they're re-marketed...&lt;br /&gt;&lt;br /&gt;DrWatson was really quite useful in Windows 3.0... Windows 3.1... Windows for Workgroups... and then Windows 95 came along. &lt;br /&gt;&lt;br /&gt;As I installed it, I was told that Windows 95 now comes with new! Dr Watson which would handle crashes... &amp;nbsp;rubbish... Windows Server 2003... comes with DrWatson....&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;Windows XP: [system32]\dwwin.exe&amp;nbsp;10.0.5815.0 -&amp;nbsp;Microsoft Application Error Reporting - Original file = DW.exe&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: x-small;"&gt;and DrWtsn32.exe - which has a user interface... for reading dumps... I couldn't find a dump to read...&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Microsoft were originally going to call this Sherlock... &amp;nbsp;wonder why they didn't... maybe they couldn't get it past their legal team...&lt;br /&gt;&lt;br /&gt;Apparently DrWatson has now been replaced by Problem Reports and Solutions... &amp;nbsp;but you can still type DrWatson into Start-&amp;gt;Run (WinKey+R) ... or dwwin ...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4670209104299616261?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4670209104299616261/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/11/old-hp-nx9005-win7.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4670209104299616261'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4670209104299616261'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/11/old-hp-nx9005-win7.html' title='old HP nx9005 - Win7'/><author><name>Oliver Slay i Texidor</name><uri>http://www.blogger.com/profile/06453980932298730974</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='27' height='32' src='http://4.bp.blogspot.com/_wcXbBOEdFFE/TPFh8lhStQI/AAAAAAAAAAM/XMRB2IyTTng/S220/sp_oli.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4149497830556772411</id><published>2010-11-26T06:28:00.002Z</published><updated>2010-11-26T06:35:22.823Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks SDK'/><category scheme='http://www.blogger.com/atom/ns#' term='qbXML'/><category scheme='http://www.blogger.com/atom/ns#' term='QBFC5'/><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks 2005'/><category scheme='http://www.blogger.com/atom/ns#' term='QuickBooks Pro 2005 UK'/><category scheme='http://www.blogger.com/atom/ns#' term='QBXMLRP'/><category scheme='http://www.blogger.com/atom/ns#' term='QBFC10'/><title type='text'>Quickbooks SDK and Quickbooks Pro 2005 (UK)</title><content type='html'>&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I seem to have dived into the deep end... there are many versions of Quickbooks... and many versions of qbXML... many versions of QBFC ... and QBXMLRP ... slowly I think I might be getting my head around these ...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;I've just got my code to open, begin, end and close a session with an open copy of QB Pro 2005 (UK) .. only to spend hours struggling to find out why I am getting all these "Unrecognised qbXML Version".. or "qbXML Version not supported"...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;After every possible&amp;nbsp;combination&amp;nbsp;of SessionManager.CreateMsgSetRequest("", _maxQbXmlVer, _minVer)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Finally someone has talked some sense... QBFC10 DOES NOT SUPPORT UK3.0 ... ah... that's why I get "Country Code Incorrect". &amp;nbsp;Ok .. what does? &amp;nbsp;Hmm it appears that QBFC5 might be the only one that ever supported UK3.0...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;One blogger,&amp;nbsp;&lt;a href="http://www.dougv.com/blog/2010/06/16/new-england-givecamp-2010-what-a-great-experience/"&gt;Doug Vanderweide&lt;/a&gt;, laments: "the quickbooks SDK, one of the sorriest, worst-documented excuses for a programming tool I've ever encountered." - I totally agree... I've been sitting here for 5 hours at least, and I've got so little done compared to nearly every other SDK I've ever used (perhaps apart from one mapping COM component - an early version of CadCorp).&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Is it worth me plodding on? &amp;nbsp;The handy QBFC10 functionality is not available to QB2005... the client will be upgrading to 2010/2011 in the next 6 months... Let's first see if I can squeeze some functionality out of QBFC5... then have a quick go at using the QBXMLRP...(qbXML Request Process - basically XML-SOAP)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;Success - QBFC5 did it! it works with values ("UK",3,0) if anyone is looking for that detail - unlikely but then I was... 6 hours to populate a spreadsheet with Customer details from QuickBooks... 24 rows... I could have typed that in a few minutes! &amp;nbsp;Their other database has 20,000+ records... So let's move one step at a time...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;If I could used QBXMLRP then I'd have access to version 4.0? &amp;nbsp;Or is that just the US version? &amp;nbsp;I think the UK version is still UK3.0... &amp;nbsp;Ok... well it's good to know for future reference, that we're quite limited in what we can do if the client has a version less than QuickBooks 2008/2009 (UK) (qbXML v6). &amp;nbsp;QuickBooks 2010 UK supports up to qbXML Specification version 8.0. (US versions support up to 10.0)&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;right.. now to move the whole thing from Excel to Visual Studio.NET 2010... maybe fill some entities instead of the spreadsheet...&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;there are two QuickBooks SDK integration tools available that take all the pain from using the SDK - by RSSBus and n/software... but the one thing lacking from their websites was any indication of whether it would work with my version of Quickbooks... or any version... I think that should be made more obvious... I wasted enough time with the SDK... on top of that I wasted more time messing around with trial software that just wouldn't work on my version... I don't even know what versions those tools work on... it's near misleading, given the number of versions of Quickbooks still in the wild... &amp;nbsp;and these tools AND the SDK would help us out a great deal if it said - "Error: this SDK &lt;u&gt;WILL NOT&lt;/u&gt; work with your version of Quickbooks in your country"&lt;/div&gt;&lt;div style="margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4149497830556772411?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4149497830556772411/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/11/quickbooks-sdk-and-quickbooks-pro-2005.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4149497830556772411'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4149497830556772411'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/11/quickbooks-sdk-and-quickbooks-pro-2005.html' title='Quickbooks SDK and Quickbooks Pro 2005 (UK)'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-8241736386005118357</id><published>2010-11-20T14:33:00.001Z</published><updated>2010-11-20T14:34:02.674Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Mac'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='WebDAV'/><category scheme='http://www.blogger.com/atom/ns#' term='Entourage'/><category scheme='http://www.blogger.com/atom/ns#' term='Cisco 1841'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS2003'/><title type='text'>Macs - Entourage - Split DNS - SBS2003 - Cisco 1841</title><content type='html'>Here's a question... &lt;br /&gt;&lt;br /&gt;In this client's domain, there are a couple of servers. &amp;nbsp;Both SBS2003. &amp;nbsp;It is set up with an internal mydomain.local address.&lt;br /&gt;&lt;br /&gt;The server has an external name - mail.mydomain.com.&lt;br /&gt;&lt;br /&gt;The Macs have been set up with WebDAV and Entourage... and point to mail.mydomain.com... so on the SBS2003 DNS Server, mail.mydomain.com has to be defined as the 192.168.0.2 address of the server. &amp;nbsp;If it is not then the request for mail.mydomain.com is forwarded off to external DNS servers, which returns the address of the external interface of the Cisco 1841 router...&lt;br /&gt;&lt;br /&gt;Clients on the outside can see mail.mydomain.com ... but they often open a VPN connection to the Cisco 1841 router... the router gives them a DNS of something.. it's own DNS proxy perhaps?&lt;br /&gt;&lt;br /&gt;So the client has a network connection somewhere in the world... with DNS local to that ISP... they connect to the VPN and are given an IP address of 192.168.0.x ... and DNS is something...&lt;br /&gt;&lt;br /&gt;but they can no longer connect to mail.mydomain.com ...&lt;br /&gt;&lt;br /&gt;Is there an easy answer? &amp;nbsp; My only answer so far is to look up CCNA courses nearby... :) &amp;nbsp;The company who should look after this router want £NNN for a solution they can't guarantee will work... And it's not a client we want to mess around with... it has to work or not.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-8241736386005118357?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/8241736386005118357/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/11/macs-entourage-split-dns-sbs2003-cisco.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8241736386005118357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8241736386005118357'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/11/macs-entourage-split-dns-sbs2003-cisco.html' title='Macs - Entourage - Split DNS - SBS2003 - Cisco 1841'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3914458852503193025</id><published>2010-11-14T02:22:00.000Z</published><updated>2010-11-14T02:22:31.249Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='BitTorrent'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS 2008'/><title type='text'>SBS2008 and the mysterious DNS drops: Resolved</title><content type='html'>I finally managed to get onto the router... a Draytek Vigor 2900... I looked through all the settings and found nothing timing out.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Looking through the Ethernet log... I could see one PC calling up numerous destinations on the internet, TCP/UDP port 16650 and destination in the 50,000s... 57874.?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I found out the PC name on the network and connected via Explorer to the admin share to look at Program Files and see if there were any nefarious software installed...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BitTorrent... oh dear... Dates of the files appear to match the times of the DNS dropping out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I was called at the time, their DNS has been down for 2 hours whilst I was investigating. &amp;nbsp;So I blocked all traffic from that PC's IP address to the internet. &amp;nbsp;Immediately I could browse to www.google.com on the server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;My colleague gets a call from one member of staff... everyone's internet has come back except hers... he let her know we'd look into it...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I blocked all traffic up from 1024 to 65535 from that IP address... at least she'll get mail, DNS, web surfing... but I think she might have a few more problems... downloading large files on company ISP.. killing an online application used by others that is the vital for the company... furthermore the size of the files over only 25 days could have had their ISP block all further traffic... Business Usage Policies n all that...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The router was still showing DNS calls to the internet... the Forwards were working.. but because of all the heavy torrent traffic, all DNS calls were timing out. &amp;nbsp;The DNS Forwarding has a timeout of 3 or 5 seconds.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;BitTorrent is known to kill a connection when it's not been limited in the torrent app...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So restarting the DNS Server on the SBS2008 box was simply killing the torrent connection and then it would all start going again .. and perhaps the only reason it's starting getting worse is because the user's PC was set to go directly via the router? &amp;nbsp;SBS2008 was limiting the Torrent connections.. once it was out of the picture the torrent was allowed to keep the connection killed and restarting the DNS Server no longer had a lasting effect.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Staff should be kept aware of the company's internet policy... and some should know better.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The answer is always so simple in retrospect.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3914458852503193025?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3914458852503193025/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/11/sbs2008-and-mysterious-dns-drops_14.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3914458852503193025'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3914458852503193025'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/11/sbs2008-and-mysterious-dns-drops_14.html' title='SBS2008 and the mysterious DNS drops: Resolved'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-2562664620256113478</id><published>2010-11-12T00:43:00.001Z</published><updated>2010-11-12T00:44:40.019Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='MaxCacheTTL'/><title type='text'>SBS2008 and the mysterious DNS drops</title><content type='html'>I've been asked to look into an install of SBS2008 which is occasionally failing to forward DNS requests from clients.  Apparently there are two workarounds.  1) A registry change and 2) set up forwarders to DNS servers... My colleague couldn't remember the details...&lt;br /&gt;&lt;br /&gt;Hmm.. Google: 945 results from EggHeadCafe alone for SBS2008 DNS. 118 in the past year.  22 in the past month.  None in the last week... so it's a dying topic...?&lt;br /&gt;&lt;br /&gt;Is XP losing its binding to the DNS Servers in DNS?  Is SBS2008 failing to forward the request?  There are some Mac OSX... is Mac OSX losing its binding to DNS?&lt;br /&gt;&lt;br /&gt;Restarting DNS solves it... so DHCP is not a problem and the problem can't be on the client-side because restarting DNS on the server wouldn't fix it.  All clients are affected.&lt;br /&gt;&lt;br /&gt;Event Log... DNS.. the Event ID sequence 3,2,4 (DNS Shutdown/Start/Ready) have occurred frequently over the last few days, and every 2 or 3 days for at least a month back...  That has to be a manual action, doesn't it?&lt;br /&gt;&lt;br /&gt;Apparently a user is restarting the DNS service... and has been for some time... I've gone through the log and noted into Excel the date and time when the user has restarted the DNS Service... then convert that into a simple dot chart...&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_CJ7gBP1KCQM/TNw_H2dyPEI/AAAAAAAABjQ/G4Mnu2P4eZE/s1600/DNSRestarts.png" imageanchor="1" style="clear: left; float: left; margin-bottom: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="371" src="http://2.bp.blogspot.com/_CJ7gBP1KCQM/TNw_H2dyPEI/AAAAAAAABjQ/G4Mnu2P4eZE/s640/DNSRestarts.png" width="640" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;The clumping is occurring with 2 day intervals between the events... except the last clump which is occurring more frequently because of a 'fix' put in place specifically to correct this... it's a weird clumping... 2 days later the users experience the same fault but about 30 mins later in the day. &amp;nbsp;It recurs 2 days and 30 minutes after restarting DNS? &amp;nbsp;That would equate roughly to a TTL, somewhere, of 2900 (rather than 2880)...?&lt;br /&gt;&lt;br /&gt;These events occur between 09:30 and 20:10 purely because no-one is around to restart the DNS outside of those times.&lt;br /&gt;&lt;br /&gt;FRS (File Repl. Svc) reported space issues (almost daily) on C drive between 23rd Oct and 1st Nov... but there are about 30gb free on C drive now... Shadow Copies is using its maximum of 10gb...&lt;br /&gt;(Note if space is an issue then DNS might be prevented from working properly...)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: small;"&gt;Event Source: NETLOGON&lt;/span&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;ID: 5781&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple; font-size: small;"&gt;Description:&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;Dynamic registration or deletion of one or more DNS records associated with DNS domain 'DomainDnsZones.mydomain.local.' failed.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;Possible causes of failure include: &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;- TCP/IP properties of network connections contain wrong IP addresses of the preferred and alternate DNS servers&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;- Specified preferred and alternate DNS servers are not running&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;- DNS server(s) primary for the records to be registered is not running&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;- Preferred or alternate DNS servers are configured with wrong root hints&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;- Parent DNS zone contains incorrect delegation to the child zone authoritative for the DNS records that failed registration &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: purple;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;There's one of these for each DnsZone... and these appear when the DNS service starts up on the SBS2008 server. &amp;nbsp;But they occur when the service starts so they are related but not a cause. &amp;nbsp;They occur simply because the NETLOGON service doesn't receive a 'Success' signal back from the DNS Server that owns the zones of the records that are being registered. &amp;nbsp;The zones in question are owned by this server? &amp;nbsp;So this server is not responding to itself?&lt;br /&gt;&lt;br /&gt;I've just discovered a utility called DNSLint.exe from Microsoft via (I won't repeat it here):&lt;br /&gt;&lt;a href="http://www.computerperformance.co.uk/w2k3/services/DNS_dnslint.htm"&gt;http://www.computerperformance.co.uk/w2k3/services/DNS_dnslint.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Hmm.. DNSLint on 2008? &amp;nbsp;I have no DVD to hand... &amp;nbsp;DNS Tools:&lt;br /&gt;&lt;a href="http://technet.microsoft.com/en-us/library/dd197560(WS.10).aspx"&gt;http://technet.microsoft.com/en-us/library/dd197560(WS.10).aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;ok.. back to error 5781 - it appears that this only occurs when the DNS service starts because the server's DNS on its own network connection is pointing towards itself... and since the DNS service hasn't yet begun, it can't register on that server... so I'm going to ignore that ... you can make the NetLogon service depend on the DNS service...&amp;nbsp;&lt;a href="http://support.microsoft.com/kb/259277"&gt;http://support.microsoft.com/kb/259277&lt;/a&gt;&amp;nbsp;but it'll try and re-register 5 minutes later anyway.&lt;br /&gt;&lt;br /&gt;After some searching around I've found a couple of root-server addresses in Root Hints that are using IP addresses for l.root-server.net. from 2 years ago... maybe the tech at Microsoft who put SBS 2008 together didn't know? &amp;nbsp;Resolve all the Root servers to check...&lt;br /&gt;&lt;br /&gt;Also I switched off DNS from listening on IPv6 interfaces for DNS requests... nothing IPv6 on the network... if so I'll find out tomorrow.&lt;br /&gt;&lt;br /&gt;I also found a registry entry in HKLM\Systems\CurrentControlSet\Services\DNS\Parameters... called MaxCacheTtl... the MS KB (&lt;a href="http://support.microsoft.com/kb/968372"&gt;http://support.microsoft.com/kb/968372&lt;/a&gt;) says it's MaxCacheTTL ... does it make a difference? &amp;nbsp;I could get ProcessSpy running to see if DNS Server on SBS2008 is making calls for MaxCacheTTL or Ttl... it's set to 172800 seconds = 2880 minutes... which is the timeout value I questionned earlier... (2900 minutes = 2 days and 20 minutes) ... what about the 20mins? &amp;nbsp;It's 2 days and 20 mins between restarts of DNS... so that's 2 days for the TTL and 20 minutes for the users to realise something is wrong and restart DNS again...&lt;br /&gt;&lt;br /&gt;Is this TTL value killing the DNS? &amp;nbsp;Can it? &amp;nbsp;We'll find out tomorrow... or in 2 days time... &amp;nbsp;Then we'll find out if it's a problem with AVG or not.. :) &amp;nbsp;or perhaps it's the router...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-2562664620256113478?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/2562664620256113478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/11/sbs2008-and-mysterious-dns-drops.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2562664620256113478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2562664620256113478'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/11/sbs2008-and-mysterious-dns-drops.html' title='SBS2008 and the mysterious DNS drops'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_CJ7gBP1KCQM/TNw_H2dyPEI/AAAAAAAABjQ/G4Mnu2P4eZE/s72-c/DNSRestarts.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-7361910616684226145</id><published>2010-10-29T20:27:00.024+01:00</published><updated>2010-10-29T20:42:09.390+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Postcode Searches'/><category scheme='http://www.blogger.com/atom/ns#' term='MS Access'/><category scheme='http://www.blogger.com/atom/ns#' term='Preserving Trailing Spaces'/><title type='text'>MS Access: How to prevent trailing spaces from being trimmed.</title><content type='html'>(jeez .. when Blogger's spacing goes haywire it really goes haywire... "remove formatting" converts a single carriage return into about 20... how many times do I have to edit this?)&lt;br /&gt;&lt;br /&gt;Microsoft's KB Article says:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ACC: Trailing Spaces Automatically Truncated During Data Entry&lt;/b&gt;&lt;a href="http://support.microsoft.com/kb/95009"&gt;http://support.microsoft.com/kb/95009&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Access automatically truncates (or strips) trailing spaces on data that you enter in form controls to prevent the creation of a record that cannot be referenced because of accidental space character(s) being appended to the end of the text.&lt;br /&gt;&lt;br /&gt;This behavior is by design.&lt;br /&gt;&lt;br /&gt;1. Enter the following for the field's ValidationRule property:="a "&lt;br /&gt;&lt;br /&gt;2.Enter "a" (without the quotations marks and no space) in the field. Note that you do not receive a validation-rule-violation message.&lt;br /&gt;&lt;br /&gt;The problem I have is that I have an unbound TextBox and I type a string of characters followed by a space... and then Access' TextBox removes the space as soon as I tab out of it... You can't switch this Behaviour (by Design) off...&lt;br /&gt;&lt;br /&gt;Don't use Access databases is the most common answer... Altho I have seen others:&lt;br /&gt;&lt;br /&gt;1. why would you need to do that? - which then goes on to describe how you can add strings: string1 &amp;amp; " " &amp;amp; string2 .. if you happen to want to concatenate strings... thanks .. but no...&lt;br /&gt;&lt;br /&gt;2. use ALT 0160 to enter a character that looks like a space... hmm.. well then the search I am doing won't find the space I am trying to match... and I can't go through the database replacing spaces with 0160... and I am definitely NOT going to tell all my users .. oh just press ALT 0160 ... oh yes.. you have to use the number pad... oh yes, you have a laptop.. you have to press Function KEYPAD .. then ALT 0160 .. then Function KEYPAD to switch off the number pad... it took 4 answers to explain some of that in the following forum...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://thedailyreviewer.com/office/view/preserve-trailing-space-entered-into-text-box-103342802"&gt;http://thedailyreviewer.com/office/view/preserve-trailing-space-entered-into-text-box-103342802&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;3. "I personally can't think of a reason to store trailing spaces." - that's my favourite... Solipsist argument #1 ... I can't think of a reason why you want to do that therefore you do not exist. :) And here's a solution to another problem... see if that helps you...&lt;br /&gt;&lt;br /&gt;Well the answer is ... you can't switch this behaviour off... because for the most part Microsoft want you to have text fields with no trailing spaces... and no mistakes...&lt;br /&gt;&lt;br /&gt;Elsewhere you would correctly trim all your entries where you need to... but in Access you don't need to because Mother Access ties you laces for you...&lt;br /&gt;&lt;br /&gt;Here's the issue...&lt;br /&gt;&lt;br /&gt;I have a database... (and for now it's going to stay as an Access database, because there's no money to pay me to write a .NET application to replace it... there's money to patch up...)&lt;br /&gt;&lt;br /&gt;I have a Search Form. On that search form I have lots of TextBoxes. The user wants to search on "SE1 " with a space! They enter "SE1 " - they don't want to enter SE1~ALT-0160~... The tab to the next control... or press Search... and immediately Access has corrected this unbound control back to "SE1"&lt;br /&gt;&lt;br /&gt;If they enter "SE1", then the search returns "SE1 2WR", "SE11 1JR", "SE12 2BN", "SE1 9XZ"&lt;br /&gt;If they enter "SE1 ", the search returns "SE1 9XZ", "SE1 2WR"&lt;br /&gt;&lt;br /&gt;This works so well in a C#/VB.NET GUI... Why has Access TextBoxes decided to do this?&lt;br /&gt;&lt;br /&gt;My answer is a simple one... (and perhaps only solves my problem...)&lt;br /&gt;&lt;br /&gt;&lt;div style="background:#6979FB;padding-left:20px;margin-left:30px;margin-right:30px;"&gt;&lt;br /&gt;Private Sub Postcode_KeyPress(KeyAscii As Integer)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;If Chr(KeyAscii) = " " Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;KeyAscii = 45&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;End If&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;This stops the user from entering spaces into a TextBox on an Access form. There are NO dashes - Chr(45) - in UK Postcodes.&lt;br /&gt;&lt;br /&gt;Then in the search I must replace the spaces in the Postcode with dashes also... to check - to prevent Access from ignoring spaces in search strings...&lt;br /&gt;&lt;br /&gt;&lt;div style="background:#6979FB;padding-left:20px;margin-left:30px;margin-right:30px;"&gt;&lt;br /&gt;If Left(Replace(rs("postcode"), " ", "-"), Len(Me.Postcode)) = Me.Postcode Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;' Add to results&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;I've been testing this for an hour or so and it works well... good for finding Postcodes in the UK anyway...&lt;br /&gt;&lt;br /&gt;It could be used to search on spaces in other data fields as well... so long as '-' is not used... but then a different character can be found to replace that...&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-7361910616684226145?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/7361910616684226145/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/ms-access-how-to-prevent-trailing.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7361910616684226145'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7361910616684226145'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/ms-access-how-to-prevent-trailing.html' title='MS Access: How to prevent trailing spaces from being trimmed.'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-8129024932768547981</id><published>2010-10-22T05:44:00.000+01:00</published><updated>2010-10-22T05:44:13.373+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PlusNet'/><category scheme='http://www.blogger.com/atom/ns#' term='DNS'/><category scheme='http://www.blogger.com/atom/ns#' term='OpenDNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Chrome'/><category scheme='http://www.blogger.com/atom/ns#' term='GoogleDNS'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Performance'/><title type='text'>Google is so slow...</title><content type='html'>I appear to be waiting too long for Google to return results .. or for the page to complete...&lt;br /&gt;&lt;br /&gt;In the late evenings when searching for general images, all I see is a grid of grey boxes... Sometimes the page doesn't change... I have to hit Enter on the URL 1-4 times before the browser even appears to react...  and after a few minutes of working with Google Maps tiles stop loading and the whole thing comes to a halt...&lt;br /&gt;&lt;br /&gt;Switch to Bing / Yahoo / Multimap / Streetmap.co.uk and there's no problem...&lt;br /&gt;&lt;br /&gt;Why is Google slowing down?  It's not just me... I did have Chrome Dev installed.. so i removed it from my system completely and reinstalled... and I still have problems... It happens on my spare laptop... so it's not my computer...  I no longer have any plugins because I clean-installed Chrome...&lt;br /&gt;&lt;br /&gt;DNS? - On my router, I'm using Google DNS - 8.8.8.8 and 8.8.4.4&lt;br /&gt;Everything we do on the internet requires some DNS lookup... I just ran Ping on a few DNS servers...  checking the average of 20 pings... (all 0% loss)&lt;br /&gt;&lt;br /&gt;For 8.8.8.8 and 8.8.4.4  &lt;a href="http://code.google.com/speed/public-dns/"&gt;Google DNS&lt;/a&gt;&lt;br /&gt;Minimum = 31ms, Maximum = 33ms, Average = 31ms&lt;br /&gt;Minimum = 30ms, Maximum = 32ms, Average = 30ms&lt;br /&gt;&lt;br /&gt;For 208.67.222.222  &lt;a href="http://www.opendns.com/"&gt;OpenDNS&lt;/a&gt;&lt;br /&gt;Minimum = 23ms, Maximum = 26ms, Average = 24ms&lt;br /&gt;&lt;br /&gt;For 212.159.13.49 and 212.159.13.50:  My ISP&lt;br /&gt;Minimum = 24ms, Maximum = 31ms, Average = 24ms&lt;br /&gt;Minimum = 25ms, Maximum = 34ms, Average = 26ms&lt;br /&gt;&lt;br /&gt;Google DNS promises speed and other functionality... by comparison .. I don't see it.. and I reckon by other functionality - they mean they can track where I go and what I do... and improve Analytics for websites and which AdWords are targeted at me throughout the day... &lt;br /&gt;&lt;br /&gt;Only 4 hours ago I also ran the DNS test.. but deleted the results...  the average was 70ms with minimum ~50ms and max ~180ms... This was the same for Open DNS... and I didn't test my ISP in time.  I was distracted by trying to work out whether I should move myself off the antique Broadband Package I am on and onto a new one... the up-to-date candidate package looks very similar - there's a very complicated hour versus service rate limiting chart to confuse me even further...&lt;br /&gt;&lt;br /&gt;&lt;a href="http://portal.plus.net/support/broadband/speed_guide/download_speeds.shtml#extraSpeeds"&gt;http://portal.plus.net/support/broadband/speed_guide/download_speeds.shtml#extraSpeeds&lt;/a&gt;&lt;br /&gt;&lt;a href="http://portal.plus.net/support/broadband/speed_guide/download_speeds.shtml#extraSpeeds"&gt;&lt;/a&gt;&lt;a href="http://portal.plus.net/support/broadband/products/archive/bbyw/speed.shtml#Option2speeds"&gt;http://portal.plus.net/support/broadband/products/archive/bbyw/speed.shtml#Option2speeds&lt;/a&gt;&lt;br /&gt;&lt;a href="http://portal.plus.net/support/broadband/products/archive/bbyw/speed.shtml#Option2speeds"&gt;&lt;/a&gt;&lt;br /&gt;Looks like I'm on the better deal by a small margin...&lt;br /&gt;&lt;br /&gt;I switched my DNS back to my ISP's name servers.... I don't think Google DNS is beneficial at all in the UK yet... &amp;nbsp;Has it helped?&lt;br /&gt;&lt;br /&gt;Things appear faster... but it's early morning .. and one of those things with IT that it's the experience over the full 24 hours that counts... whether there's an impact at the times at which I work throughout the day... and on the work I am doing (VPN, VNC, RDP, HTTP, HTTPS, etc...)&lt;br /&gt;&lt;br /&gt;If it makes no difference then I'm going to try switching off Web History and other tracking components... and clearing my Google History out... if we can...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-8129024932768547981?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/8129024932768547981/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/google-is-so-slow.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8129024932768547981'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/8129024932768547981'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/google-is-so-slow.html' title='Google is so slow...'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-5546146598946163650</id><published>2010-10-15T17:14:00.000+01:00</published><updated>2010-10-15T17:14:00.030+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and ActiveSync: Message received</title><content type='html'>So... the user received my test email ... &lt;br /&gt;&lt;br /&gt;I think the order of checks if you have problems with iPhone and ActiveSync on Exchange:&lt;br /&gt;&lt;br /&gt;1) Check the ActiveSync is working using Microsoft's &lt;a href="https://www.testexchangeconnectivity.com/"&gt;Online Test Tool&lt;/a&gt;&lt;br /&gt;2) Switch on Proactive Scanning and Background Scanning in MSExchangeIS\VirusScan.&lt;br /&gt;3) Check timeout values on all routers under your power.  If possible, make the value greater than the MaxHeartbeatInterval registry setting in Exchange. (&lt;a href="http://oliverslay.blogspot.com/2010/04/exchange-activesync-and-iphone-messages.html"&gt;See previous post&lt;/a&gt;).  (If not possible, perhaps make the Exchange MaxHeartbeatInterval just lower than the router timeout?)&lt;br /&gt;&lt;br /&gt;No doubt he'll update to iOS4.1 soon and we'll get yet another problem...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-5546146598946163650?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/5546146598946163650/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-activesync-message-received.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5546146598946163650'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5546146598946163650'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-activesync-message-received.html' title='iPhone and ActiveSync: Message received'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-5002366720867441147</id><published>2010-10-13T19:25:00.000+01:00</published><updated>2010-10-13T19:25:38.521+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and ActiveSync: Antivirus Proactive Scanning</title><content type='html'>And now I don't just have intermittent scanning... Now it only gets emails when the user opens Outlook... &lt;br /&gt;&lt;br /&gt;Something has been cleared up by setting the router timeout to a larger value...&lt;br /&gt;&lt;br /&gt;And opening Outlook causes the Antivirus to kick in on the messages.  Exchange won't do anything with the messages until they have been scanned.. and they won't be scanned without being accessed first.&lt;br /&gt;&lt;br /&gt;Checking the registry for the VirusScan settings... &lt;br /&gt;&lt;br /&gt;&lt;b&gt;HKLM\System\CurrentControlSet\Services\MSExchangeIS\VirusScan&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;ProactiveScanning&lt;/b&gt; should read 1 - &lt;b&gt;BackgroundScanning&lt;/b&gt; should read 1... then change &lt;b&gt;ReloadNow&lt;/b&gt; to 1 .. and MSExchangeIS will reload... wait a little bit and press F5... &lt;b&gt;ReloadNow&lt;/b&gt; will have been changed back to 0.&lt;br /&gt;&lt;br /&gt;Now let's see if this works...   Finally...  (Combined with the timeouts in my last post)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-5002366720867441147?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/5002366720867441147/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-activesync-antivirus.html#comment-form' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5002366720867441147'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5002366720867441147'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-activesync-antivirus.html' title='iPhone and ActiveSync: Antivirus Proactive Scanning'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4904366027930070106</id><published>2010-10-12T19:20:00.003+01:00</published><updated>2010-10-12T19:36:05.402+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Draytek Vigor'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and Exchange ActiveSync: Heartbeats</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;In an earlier post I mentioned there are two Heartbeat settings Min and Max:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MinHeartbeatInterval - Dword - Decimal 60 (seconds)&amp;nbsp;&lt;/li&gt;&lt;li&gt;MaxHeartbeatInterval - Dword - Decimal 2700 (seconds)&amp;nbsp;&lt;/li&gt;&lt;li&gt;HbiSampleSize - Dword - Decimal 200 (samples)&amp;nbsp;&lt;/li&gt;&lt;li&gt;HbiAlertThreshold - Dword - Decimal 480 (seconds)&amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;My Vigor 2900 router HTTP TCP SYN setting was 900 seconds. But clearly if the maximum Interval can be 2700 seconds (45 minutes), then it is going to fail...? Should I set the router's TCP SYN setting to 2700 seconds?&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;Ok... at the end of the Heartbeat period... the EXCHANGE server replies to the PHONE with a 200 OK message. This should force the iPhone to send another ping with a new (but more than likely same) heartbeat value.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;What if the iPhone does not receive this 200 OK message. Perhaps the signal has dropped in a tunnel, for example? TCP/IP is best effort after all... that is the last message required of the Exchange Server.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;The iPhone should assume that the period is up... and resend a new Ping anyway when it can? No? Right.. sort of .. the iPhone also calculates the best Heartbeat based on it's history of connections to the Exchange server.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;So what if ... I am in the office... and my phone connects up... iPhone can create a longer and longer heartbeat period, up to 45 minutes (2700s)... and then I leave the office... and now the iPhone is not only waiting 2700s for the 200 OK... the phone has disconnected... the server tries to contact the iPhone in the office... nothing happens.. there must be confusion when switching between WiFi and OTA (over the air) ...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;But also the HeartBeat period is continuously being cut off by the Router - set to 900s (15 mins)... So how long will it take before the iPhone's connection algorithm chooses a Heartbeat Interval that is smaller than the shortest timeout along the route to the server? Does it say... ok nothing back in 2700s .. lets try 2640s... lets try 2580s .. lets try 2520s ... and so on... which could take more than 6 hours! until finally reaches the correct value.... or does drop back to 60s then increase until it finds the best timeout value?&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;If for 6 hours or more... the timeout is greater than the value of the router timeout, then if emails arrive in the inbox after 15 minutes.. the server cannot tell you... because the router has shut the session... and the iPhone won't ask until the Heartbeat is up...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;There'll just be the assumption for the iPhone that no emails arrived... and perhaps the Exchange server will just shrug and say, "well, I sent you the emails... don't look at me..."&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: inherit;"&gt;I'm going to up the router to bigger than 2700s...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4904366027930070106?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4904366027930070106/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-exchange-activesync.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4904366027930070106'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4904366027930070106'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-exchange-activesync.html' title='iPhone and Exchange ActiveSync: Heartbeats'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3719756856497006165</id><published>2010-10-12T17:01:00.001+01:00</published><updated>2010-10-12T17:04:31.918+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and Exchange ActiveSync: still problems - Heartbeats</title><content type='html'>ok.. well the one user who had problems has upgraded to iOS 4.0.2 (Apple-iPhone2C1/802.117) and now he has intermittent issues again... (with MS Exchange 2003 SP2)&lt;br /&gt;&lt;br /&gt;So time to dig deeper... and the frustration has grown... when you think you have fixed it all and no-one calls for weeks on end... &amp;nbsp;And then it's the same problem yet again... &amp;nbsp;Time to dig even deeper...&lt;br /&gt;&lt;br /&gt;&lt;u&gt;HBISampleSize / Heartbeat Intervals&lt;/u&gt;&lt;br /&gt;&lt;br /&gt;PHONE -&amp;gt; EXCHANGE SERVER - the phone opens a session (connection) with the server, nudges it and gives the server the heartbeat length...&lt;br /&gt;&lt;br /&gt;The phone will hold OPEN that session for the length of the heartbeat... &amp;nbsp;and IF you get an email, the Exchange server will use the session to send the email to your phone. &amp;nbsp;IF no emails arrive, the phone will poll the Exchange server again... (not sure if that is immediately or not - or what if not successful? &amp;nbsp;if no signal - does it try?)&lt;br /&gt;&lt;br /&gt;If you have a router or firewall between the PHONE and the Exchange server... like your office ISP router... or home router - WiFi... &amp;nbsp;or you are connecting over WiFi in a cafe... &amp;nbsp;and the Firewall/Router times out the HTTP(S) session because it is set to a maximum of 5 minutes not 30 minutes ... (Heartbest could be 15 mins so 30 mins is a safe value) &amp;nbsp;or your WiFi signal gets low and drops, killing the session ... then that session will be lost ... IF Exchange receives an email, then it cannot open a new session to your iPhone to send the emails... it must wait for your iPhone to poll the server again....&lt;br /&gt;&lt;br /&gt;So it is vital to check all points along the connection from your iPhone to your Exchange server. &amp;nbsp;We really hope here that there aren't routers along the way at our Phone provider or other third-party, with HTTP(S) timeout values that are "almost 15 minutes"... we'll assume here, first, that if we're having problems then it is under our control (or our IT department)... (Having checked all our hops thoroughly, &lt;u&gt;then&lt;/u&gt; we can pester the people responsible for the bits we don't have any control over.)&lt;br /&gt;&lt;br /&gt;It's not true PUSH... no... but true push is not simple enough for the average iPhone user to set-up and maintain. &amp;nbsp;And it's really time-consuming if you have 30 phones on different networks ...&lt;br /&gt;&lt;br /&gt;I'm going off to investigate time-out values again on the Vigor 2900...&lt;br /&gt;&lt;br /&gt;What determines the Heartbeat on the iPhone? &amp;nbsp;Does it get the value from Exchange? &amp;nbsp;I'll let you know in my next post.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3719756856497006165?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3719756856497006165/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-exchange-activesync-still.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3719756856497006165'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3719756856497006165'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/10/iphone-and-exchange-activesync-still.html' title='iPhone and Exchange ActiveSync: still problems - Heartbeats'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-948531502757863128</id><published>2010-09-10T05:14:00.000+01:00</published><updated>2010-09-10T05:14:11.512+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Microsoft'/><category scheme='http://www.blogger.com/atom/ns#' term='Security Updates'/><category scheme='http://www.blogger.com/atom/ns#' term='navigation'/><title type='text'>Windows Update Navigation of Security Update Descriptions: rant</title><content type='html'>"&lt;span class="Apple-style-span" style="color: blue;"&gt;Security Update for Windows Server 200x (KB123456)&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Typical download size: nnn KB , 1 minute&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system. &amp;nbsp;Details... &lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;&lt;div&gt;Don't you just get tired of reading this same old message... Open up the description of any 'Security Update' in Windows/Microsoft Update and this is what you see... These messages are really so unhelpful... you'd have thought that Microsoft would have done something to alter such useless metadata over the last 5 years or so...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Then seriously... Do something about those '&lt;span class="Apple-style-span" style="color: blue;"&gt;Details&lt;/span&gt;' links... They &lt;b&gt;ALL&lt;/b&gt; take you to this:-&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Security Update for Windows Server 200x (KB123456)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Date last published: x/xx/20xx&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Typical download size: nnn KB &amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;A security issue has been identified that could allow an unauthenticated remote attacker to compromise your system and gain control over it. You can help protect your system by installing this update from Microsoft. After you install this update, you may have to restart your system.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;System Requirements&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Recommended CPU: Not specified.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Recommended memory: Not specified.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Recommended hard disk space: Not specified.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;How to Uninstall&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;This software update can be removed via Add/Remove Programs in Control Panel.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;Get help and support&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;http://support.microsoft.com&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;More information&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: blue;"&gt;http://go.microsoft.com/fwlink/?LinkID=........&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Finally? ... click on the link at the bottom of that window... and read what it's all about? &amp;nbsp;Not quite .. you still have to trail through confusing natter about 'attackers' and 'exploits' and 'vulnerabilities' to find out why... and since it all looks the same it's so hard to read anything...&amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Suggested example of description of Security Update for Windows Server 2003 (KB2286198):&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;Critical: When attempting to load the icon of a shortcut, the Windows Shell does not correctly validate specific parameters of the shortcut. &amp;nbsp;This may allow a remote attacker to take control of an affected system.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #990000;"&gt;Details...(direct link to /bulletin/MS10-046.mspx)&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do I want to click on Details? &amp;nbsp;No... I don't want to open two more browser windows, and wade through expandable regions of text looking for the description of the update...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Sort it out...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-948531502757863128?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/948531502757863128/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/09/windows-update-navigation-of-security.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/948531502757863128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/948531502757863128'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/09/windows-update-navigation-of-security.html' title='Windows Update Navigation of Security Update Descriptions: rant'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4221898026224894752</id><published>2010-09-10T01:45:00.000+01:00</published><updated>2010-09-10T01:45:27.817+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='VBS'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='LogonScript'/><title type='text'>Windows Server 2000/2003 VBScript Logon Script</title><content type='html'>I just discovered a logon script that I created in 2003, possibly for Windows Server 2000/2003.  It maps resources based on the user logging in and the groups of which the user is a member.  All users are given this one script and this one script fits all.  The script required that all users requiring a single resource were members of a named Group.&lt;br /&gt;&lt;br /&gt;I am posting it for a keepsake...&lt;br /&gt;&lt;br /&gt;The Login script is stored in a Profile Folder on each domain controller in the C:\WINNT\SYSVOL folder.  Namely:&lt;br /&gt;&lt;br /&gt;C:\WINNT\SYSVOL\sysvol\&lt;i&gt;mydomain.local&lt;/i&gt;\Policies\{43E365AC-BD01-4082-9780-A5E227CA2E2D}\User\Scripts\Logon\LogonScript.VBS&lt;br /&gt;&lt;br /&gt;The users' drives are mapped according to which group they are a member of and if they have individually mapped drives then this is also done in the script.&lt;br /&gt;&lt;br /&gt;See below which groups are important.   When moving a user from one group to another (DeptA to DeptB) all that is necessary is to change their group membership and the relevant drives will be mapped when they next log in.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;u&gt;LogonScript.VBS&lt;/u&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre style="background-color: #eeeeee; border: 1px dashed #999999; color: black; font-family: Andale Mono, Lucida Console, Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 100%;"&gt;&lt;code&gt;Option Explicit&lt;br /&gt;On error resume next&lt;br /&gt;&lt;br /&gt;' Declare Variables&lt;br /&gt;&lt;br /&gt;Dim oNet, colDrives, i, sUser&lt;br /&gt;&lt;br /&gt;' Dim wshShell - reserved for setting printers&lt;br /&gt;Dim ADSysInfo, CurrentUser, strGroups, myUserName&lt;br /&gt;Dim userServer, fileServer, printServer, fileServerBack&lt;br /&gt;Dim nyAccounts, lonAccounts, launchServer&lt;br /&gt;&lt;br /&gt;' Set Server Names&lt;br /&gt;&lt;br /&gt;userServer = "\\server01.mydomain.local\"&lt;br /&gt;printServer = "\\server01.mydomain.local\"&lt;br /&gt;fileServer = "\\server01.mydomain.local\"&lt;br /&gt;lonAccounts = "\\server02.mydomain.local\Accounts"&lt;br /&gt;launchServer = "\\server02.mydomain.local\"&lt;br /&gt;&lt;br /&gt;' NY folder shared over permanent WAN VPN&lt;br /&gt;nyAccounts = "\\ny-server01.mydomain.com\office_admin"&lt;br /&gt;&lt;br /&gt;' Set Helper objects&lt;br /&gt;&lt;br /&gt;Set oNet = CreateObject("WScript.Network")&lt;br /&gt;Set ADSysInfo = CreateObject("ADSystemInfo")&lt;br /&gt;Set CurrentUser = GetObject("LDAP://" &amp;amp; ADSysInfo.Username)&lt;br /&gt;&lt;br /&gt;' Set wshShell = CreateObject("WScript.Shell") - reserved for setting printers&lt;br /&gt;&lt;br /&gt;sUser = oNet.UserName&lt;br /&gt;' - gets the username, ie user2, user3, etc from the Network Object&lt;br /&gt;&lt;br /&gt;' If..Then.. Script for LimitedUsers to prevent drive mappings&lt;br /&gt;If sUser &amp;lt;&amp;gt; "limitedUserA" Then&lt;br /&gt;&lt;br /&gt;     ' Get Username, Full Name and Groups user is member of&lt;br /&gt;     strGroups = LCase(Join(CurrentUser.MemberOf))&lt;br /&gt;     myUserName = Right(CurrentUser.Name, Len(CurrentUser.Name)-3)&lt;br /&gt;&lt;br /&gt;     ' Remove mapped drives&lt;br /&gt;&lt;br /&gt;     Set colDrives = oNet.EnumNetworkDrives&lt;br /&gt;     For i = 0 to colDrives.Count - 1 Step 2&lt;br /&gt;          oNet.RemoveNetworkDrive(colDrives.Item(i))&lt;br /&gt;     Next&lt;br /&gt;&lt;br /&gt;     ' Map allowed drives&lt;br /&gt;&lt;br /&gt;     ' Home Drive (shared with following $)&lt;br /&gt;     oNet.MapNetworkDrive "H:", userServer &amp;amp; SUser &amp;amp; "$"&lt;br /&gt;&lt;br /&gt;     ' Shared Drives&lt;br /&gt;     oNet.MapNetworkDrive "P:", fileServer &amp;amp; "Shared"&lt;br /&gt;&lt;br /&gt;     ' Group Specific Drives&lt;br /&gt;     If InStr(strGroups, "cn=itsupport,") &amp;gt; 0 or sUser = "administrator" Then&lt;br /&gt;          oNet.MapNetworkDrive "R:", fileServer &amp;amp; "recovery$"&lt;br /&gt;          oNet.MapNetworkDrive "Z:", fileServer &amp;amp; "applications$"&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If InStr(strGroups, "cn=deptA,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "N:", fileServer &amp;amp; "deptA"&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If InStr(strGroups, "cn=deptB,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "L:", fileServer &amp;amp; "deptB"&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If InStr(strGroups, "cn=managers,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "L:", fileServer &amp;amp; "deptB"&lt;br /&gt;          oNet.MapNetworkDrive "M:", fileServer &amp;amp; "Management"&lt;br /&gt;          oNet.MapNetworkDrive "N:", fileserver &amp;amp; "deptA"&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If InStr(strGroups, "cn=support,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "L:", fileServer &amp;amp; "deptB"&lt;br /&gt;          oNet.MapNetworkDrive "N:", fileserver &amp;amp; "deptA"&lt;br /&gt;          oNet.MapNetworkDrive "S:", fileServer &amp;amp; "Support"&lt;br /&gt;     End if&lt;br /&gt;&lt;br /&gt;     If Instr(strGroups, "cn=sageline,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "Q:", lonAccounts&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If Instr(strGroups, "cn=launch sec,") &amp;gt; 0 Then&lt;br /&gt;          oNet.MapNetworkDrive "L:", fileServer &amp;amp; "deptB"&lt;br /&gt;          oNet.MapNetworkDrive "K:", launchServer &amp;amp; "Launch$"&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     ' User-specific Drives - acctUserA, acctUserB, etc&lt;br /&gt;     ' Two users can see the other user's home drive&lt;br /&gt;&lt;br /&gt;     If sUser = "acctUserA" Then&lt;br /&gt;          oNet.MapNetworkDrive "G:", userServer &amp;amp; "acctUserB$"&lt;br /&gt;          oNet.MapNetworkDrive "W:", nyAccounts&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     If sUser = "acctUserB" Then&lt;br /&gt;          oNet.MapNetworkDrive "G:", userServer &amp;amp; "acctUserA$"&lt;br /&gt;          oNet.MapNetworkDrive "W:", nyAccounts&lt;br /&gt;     End If&lt;br /&gt;&lt;br /&gt;     ' specific resources required by one user only&lt;br /&gt;&lt;br /&gt;     If sUser = "UserC" then&lt;br /&gt;          oNet.MapNetworkDrive "E:", "\\server03\data", , "server03data", ""&lt;br /&gt;     End if&lt;br /&gt;&lt;br /&gt;     If sUser = "UserD" then&lt;br /&gt;          oNet.MapNetworkDrive "Z:", fileServer &amp;amp; "applications$"&lt;br /&gt;     End if&lt;br /&gt;&lt;br /&gt;     ' Other Drives&lt;br /&gt;&lt;br /&gt;     ' Printers - sample - not in place yet&lt;br /&gt;&lt;br /&gt;     'If InStr(strGroups, "cn=deptE,") &amp;gt; 0 or sUser = "administrator" Then&lt;br /&gt;          ' oNet.AddPrinterConnection "Invoicing", "\\server01\Invoicing"&lt;br /&gt;          ' oNet.SetDefaultPrinter "Invoicing"&lt;br /&gt;     'End If&lt;br /&gt;&lt;br /&gt;End If    ' - ends If not LimitedUser&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4221898026224894752?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4221898026224894752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/09/windows-server-20002003-vbscript-logon.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4221898026224894752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4221898026224894752'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/09/windows-server-20002003-vbscript-logon.html' title='Windows Server 2000/2003 VBScript Logon Script'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6471183299415914949</id><published>2010-07-13T21:19:00.000+01:00</published><updated>2010-07-13T21:19:00.316+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Update Rollups'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2007 SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='OWA'/><title type='text'>Exchange 2007 SP2 on SBS 2008: OWA not working again after today's Rollup 4...</title><content type='html'>Damn... now OWA has been broken again by a reapplication of the same Rollup 4 that broke the system last time...&lt;br /&gt;&lt;br /&gt;Different problem... it's connected the Exchange virtual folder to \\.\BackofficeStorage\domain.local\MBX ... not sure that is correct...&lt;br /&gt;&lt;br /&gt;But I can get into OWA via the Remote ... the OWA virtual folder is ok.&lt;br /&gt;&lt;br /&gt;I will have to rebuild them yet again.... cheers Microsoft Exchange Team for thoroughly testing your patches yet again..&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6471183299415914949?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6471183299415914949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/07/exchange-2007-sp2-on-sbs-2008-owa-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6471183299415914949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6471183299415914949'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/07/exchange-2007-sp2-on-sbs-2008-owa-not.html' title='Exchange 2007 SP2 on SBS 2008: OWA not working again after today&apos;s Rollup 4...'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-201259921311345075</id><published>2010-05-19T18:56:00.001+01:00</published><updated>2010-05-19T19:05:46.002+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MultiGeometry'/><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Earth'/><category scheme='http://www.blogger.com/atom/ns#' term='Grid InQuest'/><category scheme='http://www.blogger.com/atom/ns#' term='LineStrings'/><title type='text'>KML Overlapping Features: Revisited</title><content type='html'>In a previous post about &lt;a href="http://oliverslay.blogspot.com/2010/04/kml-overlapping-features.html"&gt;overlapping features&lt;/a&gt;&amp;nbsp;I expressed the difficulty with selecting LineStrings in Google Earth that lie completely within a Polygon.&lt;br /&gt;&lt;br /&gt;I've tried altering the Altitude relative to the Ground .. with clampedToGround but cannot get them to work.&lt;br /&gt;&lt;br /&gt;It appears that the only thing you can click inside a Polygon is a Point with an Icon attached to it (whether or not it is active)&lt;br /&gt;&lt;br /&gt;The only solution therefore, is to use a &amp;lt;multigeometry&amp;gt; element around the&amp;nbsp;&amp;lt;linestring&amp;gt; element. &amp;nbsp;Then for every point along the LineString, you add a Point to the Multigeometry. &amp;nbsp;For example:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #6aa84f;"&gt;&amp;lt;multigeometry&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;linestring&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;tessellate&amp;gt;1&amp;lt;/tessellate&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;coordinates&amp;gt;&lt;br /&gt;-1.689192,53.348771,2 -1.689188,53.348688,2 -1.689071,53.348596,2 -1.688909,53.348642,2&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #6aa84f;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;/coordinates&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #6aa84f; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;/linestring&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #6aa84f; font-family: Arial, Helvetica, sans-serif;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;point&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, sans-serif;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&lt;span class="Apple-style-span" style="color: #6aa84f;"&gt; &amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;coordinates&amp;gt;-1.689192,53.348771,2&amp;lt;/coordinates&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;/point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;coordinates&amp;gt;-1.689188,53.348688,2&amp;lt;/coordinates&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;/point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;coordinates&amp;gt;-1.689071,53.348596,2&amp;lt;/coordinates&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;/point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;point&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;lt;coordinates&amp;gt;-1.688909,53.348642,2&amp;lt;/coordinates&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;lt;/point&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Define an IconStyle that is not too obstrusive... and then you can select any of the above Points in the Line, whether or not it is in a Polygon.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Unfortunately we can't always control the separation of the points... a line generated by &lt;a href="http://mytracks.appspot.com/"&gt;Google MyTracks&lt;/a&gt;&amp;nbsp;can have a large number of points all bunched up together... it would look pretty bad to make them all visible... so perhaps when generating the KML I could work through the collection of Points that makes the whole LineString and every 50m or so I can calculate the Point location and drop one into the KML...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;We start with Northings and Eastings. &amp;nbsp;PointA would be something like N:540244 E:384222 and PointB N:540233 E:384243. &amp;nbsp; So PointB lies south and east of PointB. &amp;nbsp;Simple trigonometry tells us that the distance between A and B is the root of 562 [121 + 441] = 23.7m. &amp;nbsp;If we want to drop a Point (into the MultiGeometry markup) every 50m then we skip PointB... and calculate the distance to PointC.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;PointC is N:540213 E:384223 - which is south and west of Point B. &amp;nbsp;The distance is 28.3m making a total distance along the path of 28.3+23.7 = 52m. &amp;nbsp;We could either drop PointC into the MultiGeometry ... or if you want exact 50m points, you calculate the Northing and Easting of the point that lies 26.3m from PointB along the line towards PointC.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So all the sides of the triangle must be reduced by 92.93%. &amp;nbsp;Thus we require a point that is 18.59m (-ish) south and 18.59m west of PointB -&amp;gt; N:540214.41 E:384224.41. &amp;nbsp;This point can then be dropped into the KML after PointA. &amp;nbsp;From this point there is about 2m to PointC. &amp;nbsp;So our next KML Point will be 48m from PointC along the LineString.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;These calculations are fairly straightforward to build into code, especially if you have to work through each point in a line and convert Northings and Eastings into Lat/Lon coordinates (using &lt;a href="http://www.qgsl.com/?product=gridinquest"&gt;Grid Inquest from Quest Geo Solutions Ltd&lt;/a&gt;).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-201259921311345075?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/201259921311345075/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/05/kml-overlapping-features-revisited.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/201259921311345075'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/201259921311345075'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/05/kml-overlapping-features-revisited.html' title='KML Overlapping Features: Revisited'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3492464689664148320</id><published>2010-05-01T13:56:00.001+01:00</published><updated>2010-05-01T14:00:21.489+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Update Rollups'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2007'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange 2007 SP2'/><category scheme='http://www.blogger.com/atom/ns#' term='Entourage'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='OWA'/><title type='text'>Exchange 2007 SP2 on SBS 2008: OWA not working after Update Rollup 4</title><content type='html'>The server is running SBS 2008 and Exchange 2007.&lt;br /&gt;&lt;br /&gt;This morning SP2 was applied followed by &lt;a href="http://support.microsoft.com/kb/981383"&gt;Update Rollup 4 for Exchange 2007 SP2 (kb981383)&lt;/a&gt;. &amp;nbsp;I was called because OWA stopped working and Entourage clients could no longer connect...&lt;br /&gt;&lt;br /&gt;After comparing with another pre-SP2 server, I discovered that in IIS Manager, &lt;i&gt;Default Web Site&lt;/i&gt; was running but the site,&amp;nbsp;&lt;i&gt;SBS 2008 Web Applications&lt;/i&gt;, was not running. &amp;nbsp;The former has WSUS and Sharepoint components, the latter has Remote, OWA, OMA, OAB, Autodiscover etc. &amp;nbsp;Autodiscover is required by Entourage clients.&lt;br /&gt;&lt;br /&gt;The reason &lt;i&gt;SBS 2008 Web Applications&lt;/i&gt;&amp;nbsp;was not starting was because https on 443 had been enabled for &lt;i&gt;Default Web Site&lt;/i&gt;&amp;nbsp;by either SP2 or the Update Rollup 4. &amp;nbsp;Presumably these updates haven't been tested thoroughly enough on SBS...? &amp;nbsp;Initially I stopped &lt;i&gt;Default Web Site&lt;/i&gt;&amp;nbsp;and the SBS site started... and everything was back to normal. &amp;nbsp;The server at another client that I compared with did not have a binding on &lt;i&gt;Default Web Site&lt;/i&gt;&amp;nbsp;for https (no domain) on port 443. &amp;nbsp;So I removed that and &lt;i&gt;Default Web Site&lt;/i&gt;&amp;nbsp;started up...&lt;br /&gt;&lt;br /&gt;Thinking that was enough, I was then told that OWA, Entourage, etc no longer worked again. &amp;nbsp;After removing https from &lt;i&gt;Default Web Site&lt;/i&gt;. &amp;nbsp;I could not access webmail externally nor internally. &amp;nbsp;Entourage clients were no long connected to Exchange...&lt;br /&gt;&lt;br /&gt;It appears that removing https from &lt;i&gt;Default Web Site&lt;/i&gt;&amp;nbsp;also removed the SSL self-signed certificate from https bound to &lt;i&gt;SBS 2008 Web Applications&lt;/i&gt;&amp;nbsp;- crazy ... So after editing bindings for the SBS site, edit the https 443 binding... add a certificate back... everything got working again.&lt;br /&gt;&lt;br /&gt;My guess is that SP2 or the Update Rollup 4 forgets that SBS has its own default web site... and applies https to &lt;i&gt;Default Web Site&lt;/i&gt;... and for a quicker fix...&lt;br /&gt;&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Open IIS manager&lt;/li&gt;&lt;li&gt;Open Web Sites&lt;/li&gt;&lt;li&gt;Right click SBS 2008 Web Applications and select Edit Bindings&amp;nbsp;&lt;/li&gt;&lt;li&gt;Select https .... 443 and click Edit&lt;/li&gt;&lt;li&gt;Make a note of the SSL certificate being used - click Close/OK&lt;/li&gt;&lt;li&gt;Right click Default Web Site and select Edit Bindings&lt;/li&gt;&lt;li&gt;Select https .... 443 and click Edit&lt;/li&gt;&lt;li&gt;Make a note of the SSL certificate being used - click Close/OK&lt;/li&gt;&lt;li&gt;Delete https 443 in the Default Web Site bindings..&lt;/li&gt;&lt;li&gt;Right click SBS 2008 Web Applications and select Edit Bindings&lt;/li&gt;&lt;li&gt;Select https ... 443 and click Edit&lt;/li&gt;&lt;li&gt;Make sure that the SSL certificate you noted down is selected... click ok close&lt;/li&gt;&lt;li&gt;Start up whichever Web Site is stopped... all done ... if not restart IIS...&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;For once .. AVG is not involved... :)&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3492464689664148320?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3492464689664148320/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/05/exchange-2007-sp2-on-sbs-2008-owa-not.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3492464689664148320'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3492464689664148320'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/05/exchange-2007-sp2-on-sbs-2008-owa-not.html' title='Exchange 2007 SP2 on SBS 2008: OWA not working after Update Rollup 4'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-388317286061317005</id><published>2010-04-30T20:22:00.000+01:00</published><updated>2010-04-30T20:22:26.270+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='1e100.net'/><category scheme='http://www.blogger.com/atom/ns#' term='Googol'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Show Traffic'/><category scheme='http://www.blogger.com/atom/ns#' term='Sourceforge'/><title type='text'>Show Traffic on SourceForge: Internet Connection Monitor</title><content type='html'>I found &lt;a href="http://sourceforge.net/projects/showtraf/"&gt;Show Traffic&lt;/a&gt; on Sourceforge and think it's quite a useful program for monitoring where you are connecting to and who is connecting to your PC...&lt;br /&gt;&lt;br /&gt;After switching on &lt;i&gt;Resolve Addresses&lt;/i&gt; and &lt;i&gt;Resolve Port Names&lt;/i&gt;&amp;nbsp;there are some interesting connections going on...&lt;br /&gt;&lt;br /&gt;Source IP:&amp;nbsp;&lt;b&gt;209.85.229.191&lt;/b&gt; - resolves to a computer on a network - &lt;b&gt;1e100.net&lt;/b&gt; ... connecting to my computer on HTTP and HTTPS ... for what reason?&lt;br /&gt;&lt;br /&gt;1e100 ... for anyone who doesn't know what a '&lt;a href="http://en.wikipedia.org/wiki/Googol"&gt;Googol&lt;/a&gt;' is:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;10^100 (ten to the power of 100 - a one with a hundred zeroes) is a '&lt;b&gt;Googol&lt;/b&gt;' or in terms of millions and billions .. ten thousand sexdecillion... &amp;nbsp;and 'one in a googol' are your odds if you throw 333 coins in the air and expect them to all land heads up... :)&amp;nbsp;&lt;/li&gt;&lt;li&gt;10^google (ten to the power of a google) is a '&lt;b&gt;Googolplex&lt;/b&gt;' - Carl Sagan said that you couldn't write this number down because there is not enough space in the universe... never say never... :) - there's got to be some person out there with autistic tendencies working his/her way through the first few million or so...&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;1e100.net is a Google-owned domain. &amp;nbsp;It appears to show up when using GMail, GTalk and Blogger.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-388317286061317005?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/388317286061317005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/show-traffic-on-sourceforge-internet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/388317286061317005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/388317286061317005'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/show-traffic-on-sourceforge-internet.html' title='Show Traffic on SourceForge: Internet Connection Monitor'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3800319130647609334</id><published>2010-04-30T18:17:00.000+01:00</published><updated>2010-04-30T18:17:31.026+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Draytek Vigor'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and Exchange ActiveSync: Router Timeout - cracked it?</title><content type='html'>&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;The Draytek Vigor 2910 has now had its firmware upgraded to the latest version.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;The &lt;i&gt;portmaptime&lt;/i&gt;&amp;nbsp;function is now available. &amp;nbsp;Running '&lt;i&gt;portmaptime -l&lt;/i&gt;' to list the timeout values shows TCP SYN as 60 seconds... well below the recommended 540 seconds for ActiveSync.&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;I have set it, according to some users, to 900: &amp;nbsp;'&lt;i&gt;portmaptime -s 900&lt;/i&gt;' (s for 'tcp Syn')&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #333333; font-family: 'trebuchet ms', verdana, arial, sans-serif; font-size: small;"&gt;&lt;span class="Apple-style-span" style="-webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; border-collapse: collapse; font-size: 13px; line-height: 18px;"&gt;The iPhone user reports that whatever change I made, appears to have cracked it... I told him I'm going to wait a couple of weeks before I start celebrating... :)&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3800319130647609334?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3800319130647609334/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/iphone-and-exchange-activesync-router.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3800319130647609334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3800319130647609334'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/iphone-and-exchange-activesync-router.html' title='iPhone and Exchange ActiveSync: Router Timeout - cracked it?'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-1790540326480213438</id><published>2010-04-27T05:02:00.000+01:00</published><updated>2010-04-27T05:02:55.419+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='TaskList'/><category scheme='http://www.blogger.com/atom/ns#' term='Blacklist'/><category scheme='http://www.blogger.com/atom/ns#' term='System Restore'/><category scheme='http://www.blogger.com/atom/ns#' term='Sysinternals'/><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='Didier Stevens'/><category scheme='http://www.blogger.com/atom/ns#' term='Email'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Netstat'/><category scheme='http://www.blogger.com/atom/ns#' term='MXToolBox'/><category scheme='http://www.blogger.com/atom/ns#' term='SMTP Hijack'/><title type='text'>Blacklisted, Router Spam, Rootkits, Worms</title><content type='html'>A client has been infected by something nasty... email is not getting through to clients due to blacklisting...&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;1) &amp;nbsp;&lt;a href="http://www.mxtoolbox.com/"&gt;www.mxtoolbox.com&lt;/a&gt;&amp;nbsp;&amp;nbsp;- Lookup the mail server MX record, check for blacklisting. &amp;nbsp;Find out the date that it happened and any reasons you can find.&lt;/div&gt;&lt;div&gt;2) &amp;nbsp;Find/fix the infected PC... &amp;nbsp;As I work remote, I set up a batch file that users can run...&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;tasklist /svc &amp;gt; s:\%computername%-tasks.txt&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;netstat -nabvo &amp;gt; s:\%computername%-netstat.txt&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;;pause&lt;/span&gt; &amp;nbsp; &amp;nbsp;[ remove commenting semi-colon if you want to]&lt;/blockquote&gt;&lt;div&gt;This assumes there is an S: drive - replace with a network drive letter that you have access to - and save the file as something like '&lt;i&gt;s:\commands.bat&lt;/i&gt;'. &amp;nbsp;Ask someone to run it on all computers.&lt;br /&gt;&lt;br /&gt;Check each &lt;i&gt;&lt;compname&gt;-netstat.txt&lt;/compname&gt;&lt;/i&gt;&amp;nbsp;file for numerous connections being made where there is a :25 after the Foreign Address (search the text file for ':25').&lt;br /&gt;&lt;br /&gt;I've found one PC making such connections...&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;TCP &amp;nbsp; &amp;nbsp;10.0.0.12:27163 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;208.123.68.19:25 &amp;nbsp; &amp;nbsp; &amp;nbsp; SYN_SENT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;700&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;&amp;nbsp;&amp;nbsp;C:\WINDOWS\System32\mswsock.dll&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;&amp;nbsp;&amp;nbsp;C:\WINDOWS\system32\WS2_32.dll&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;&amp;nbsp;&amp;nbsp;-- unknown component(s) --&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;&amp;nbsp;&amp;nbsp;C:\WINDOWS\system32\kernel32.dll&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;&amp;nbsp;&amp;nbsp;[services.exe]&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;This suggests a dodgy &lt;i&gt;mswsock.dll&lt;/i&gt;&amp;nbsp;or software running that is spamming out. &amp;nbsp;I have checked the other PCs and none of them are infected. &amp;nbsp;So now to Remote Connect (RDP) into the PC and have a look.&lt;br /&gt;&lt;br /&gt;No processes running ... rootkit? .. Ran MalwareBytes' Anti-Malware and found Adware.Starware ... Security Center warning if no Firewall or Antivirus was disabled... AVG looks like it got a random letter named dll file... &amp;nbsp;and I found Run settings ('&lt;i&gt;rundll32 &lt;the above="" letters="" random=""&gt;/dll, startup&lt;/the&gt;&lt;/i&gt;' in both Local Machine and Local User / Software/Microsoft/Windows/CurrentVersion/Run ... AVG reports the &lt;i&gt;Hiloti&lt;/i&gt;... does that send out on smtp? &amp;nbsp;there's also another file reported as &lt;i&gt;Trojan Horse Generic 17.BEDK&lt;/i&gt;. &amp;nbsp; Adobe &lt;i&gt;monxga32.exe&lt;/i&gt;... not Adobe but in a folder called '&lt;i&gt;Startup&lt;/i&gt;'&amp;nbsp;in the &lt;i&gt;Adobe&lt;/i&gt; menu group in the Start Menu.&lt;br /&gt;&lt;br /&gt;ThePhone.coop has still not responded with a Smart Host for relaying emails... which means their clients will not get their emails... Surely the service assistant didn't need to ask an engineer to call me back just to tell me the name of their Smart Host?&lt;br /&gt;&lt;br /&gt;Anti-Malware found 109 issues.. but nothing substantial... &amp;nbsp;now running AVG's Rootkit Search... &amp;nbsp;That has not fixed it... &amp;nbsp;Computer rebooted and still infected.&lt;br /&gt;&lt;br /&gt;I have connected to the router and added a new rule to block all SMTP Port 25 traffic from all LAN addresses except the server to any address on the internet. &amp;nbsp;That will stop the blacklisting organisations from blocking us... and will stop anyone else getting dodgy emails from us.&lt;br /&gt;&lt;br /&gt;Now I can remote desktop back into the computer and have another good go at it ...&lt;br /&gt;&lt;br /&gt;Strangely '&lt;i&gt;tasklist /svc&lt;/i&gt;' reveals that it is Process ID 708 that is sending smtp packets out. &amp;nbsp;ID 708 is &lt;i&gt;Services.exe&lt;/i&gt;. &amp;nbsp;Tasklist reveals that Services.exe is a host for Eventlog and PlugPlay.&lt;br /&gt;&lt;br /&gt;Sysinternals' Process Explorer with a filter of '&lt;i&gt;Path contains :smtp&lt;/i&gt;' also reveals ID 708. &amp;nbsp; But it also shows that the operation is TCP Disconnect and TCP Reconnect - which means the router block is working. &amp;nbsp; There's one &lt;i&gt;inetinfo.exe&lt;/i&gt;&amp;nbsp;in there sending smtp to localhost ... which throws the possibility of IISADMIN, SMTPSVC and W3SVC involvement.&lt;br /&gt;&lt;br /&gt;Sysinternals' &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb897445.aspx"&gt;RootkitRevealer&lt;/a&gt; (RKR) has found quite a few results...&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;HKU\1-5-21-nnn..nnnn\UserAssist\{75048700-EF1F-11D0-9888-006097DEACF9}\Count\... ...HRZR_EHACVQY:uggc://vzntrf.tbbtyr.pbz/ ... etc&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;Further investigation discounts this as suspicious...&lt;br /&gt;1)&amp;nbsp;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;{75048700-EF1F-11D0-9888-006097DEACF9}&lt;/span&gt;&lt;/span&gt; is the CLSID for ActiveDesktop - so all these entries are Operating System entries.&lt;br /&gt;2)&amp;nbsp;&lt;span class="Apple-style-span" style="color: #351c75; font-size: small;"&gt;HRZR_EHACVQY:uggc://vzntrf.tbbtyr.pbz/&lt;span class="Apple-style-span" style="color: black; font-size: medium;"&gt;&amp;nbsp;is &lt;a href="http://www.tele-pro.co.uk/scripts/misc/rot13.htm"&gt;ROT13&lt;/a&gt; encoding for &lt;/span&gt;UEME_RUNPIDL:http://images.google.com/&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Also see Didier Stevens &lt;a href="http://blog.didierstevens.com/programs/userassist/"&gt;UserAssist Tool&lt;/a&gt;&amp;nbsp;for an easier decryption of these UserAssist entries.&lt;br /&gt;&lt;br /&gt;Null containing registry entries found by RKR such as in the hklm\security hive SAC* SAI* and SCM* have the same date (maybe) as the computer was installed... something to do with password hiding perhaps...&lt;br /&gt;&lt;br /&gt;HKLM\Software .. Microsoft SQL Server .. apparently this is logged by RKR because SQL often changes quickly whilst the registry is being read.. so comparing it can often show innocent discrepancies.&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;HKLM\System\ControlSet1\Services\eyviuy&lt;/span&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;HKLM\System\ControlSet2\Services\eyviuy&lt;/span&gt;&lt;/blockquote&gt;These have the same names as the driver file (.sys) I found in the system32\drivers folder...&lt;br /&gt;&lt;br /&gt;AVG has popped up .. The Trojans,&amp;nbsp;&lt;b&gt;Hiloti.AL&lt;/b&gt; &lt;b&gt;Hiloti.AM&lt;/b&gt; have infected two files in System Volume Information\_restore folder...&lt;br /&gt;&lt;br /&gt;I have given in and taken it back to a previous system restore point .. early last week. &amp;nbsp;If it gets re-infected then I'll have to ask someone to go and run Recovery Console and delete the offending system driver file and registry entry without Windows running. &amp;nbsp;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-1790540326480213438?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/1790540326480213438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/blacklisted-router-spam-rootkits-worms.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/1790540326480213438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/1790540326480213438'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/blacklisted-router-spam-rootkits-worms.html' title='Blacklisted, Router Spam, Rootkits, Worms'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-3277279196539353316</id><published>2010-04-26T13:53:00.000+01:00</published><updated>2010-04-26T13:53:13.811+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vigor 2900'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Draytek Vigor'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and Exchange ActiveSync: not yet solved - router update</title><content type='html'>Following all the links in the chain...&lt;br /&gt;&lt;br /&gt;iPhone -- &amp;nbsp;Router NAT -- (Routing and Remote Access Firewall) -- ActiveSync -- Exchange&lt;br /&gt;&lt;br /&gt;Error 3033 for ActiveSync suggested checking the router HTTP(S) timeout. &amp;nbsp;The router is a Draytek Vigor 2900. &amp;nbsp;There appeared to be no way to alter the HTTP(S) timeout. &amp;nbsp;I have since been told that there is a command I can run...&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="color: #351c75;"&gt;portmaptime -s 900&lt;/span&gt;&lt;/blockquote&gt;So I telnetted into the router... type ? for help... the command is not listed... I had a look at the commands whilst I was there... nothing... firmware is 3.1.2 ... the service tech tells me that the &lt;i&gt;portmaptime&lt;/i&gt;&amp;nbsp;command was introduced in a later firmware.&lt;br /&gt;&lt;br /&gt;Portmaptime -s will alter the TCP SYN Timeout value. &amp;nbsp;From the Draytek forums it appears that this command should work on the 2800 Series (2820) and other Vigor routers too.&lt;br /&gt;&lt;br /&gt;Microsoft recommend a value of 900 seconds. &amp;nbsp;But there's still no guarantee that upgrading the router firmware and altering the timeout is going to resolve the iPhone&amp;lt;-&amp;gt;Exchange problem altogether. &amp;nbsp;Have to wait and see.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-3277279196539353316?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/3277279196539353316/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/iphone-and-exchange-activesync-not-yet.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3277279196539353316'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/3277279196539353316'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/iphone-and-exchange-activesync-not-yet.html' title='iPhone and Exchange ActiveSync: not yet solved - router update'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-752034677475214709</id><published>2010-04-26T13:44:00.000+01:00</published><updated>2010-04-26T13:44:22.720+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ADO.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><title type='text'>Annoying ADO.NET Error - Unspecified.</title><content type='html'>After doing some form code and layout etc ... I decide to alter a dataset using Visual Studio 2008's Dataset Designer ... but every attempt to connect to the source database results in 'Unspecified Error' (possibly a jet specific error - I can't reproduce this at will - it just happens to you when you are half way through doing something important for a client) ... I cannot edit the TableAdapter SQL, add a table to the designer, or even connect to a database in Server Explorer, let alone create a new connection.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;The only workaround, which I have discovered through trial and error, is to close Visual Studio, re-open... then connect to the database BEFORE opening the current solution. &amp;nbsp;If the connection is opened before the solution then it has no problem.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;This wasn't addressed in Visual Studio 2008 SP1 or updates since (afaik)... &amp;nbsp;resetting the VS environment doesn't help either.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-752034677475214709?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/752034677475214709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/annoying-adonet-error-unspecified.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/752034677475214709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/752034677475214709'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/annoying-adonet-error-unspecified.html' title='Annoying ADO.NET Error - Unspecified.'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-2859727732904209326</id><published>2010-04-21T16:49:00.002+01:00</published><updated>2010-04-21T16:52:35.877+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KML'/><category scheme='http://www.blogger.com/atom/ns#' term='Google Earth'/><title type='text'>KML Overlapping Features</title><content type='html'>I am getting frustrated with KML in Google Earth (GE) ... I have written a GIS program for surveying and am exporting objects to KML/KMZ with CSS/Javascript enabled BalloonStyles... &lt;br /&gt;&lt;br /&gt;I am writing Points as Points... but the Polygons and LineStrings are MultiGeometry, each of which contains the Polygon or LineString and a Point. &amp;nbsp;The Point is there so that I can place a label where I want it.&lt;br /&gt;&lt;br /&gt;In GE, I can click on a Point .. on all Points even if they lie within a Multigeometry Polygon... &amp;nbsp;but I can't click on Multigeometry LineStrings if they cross over or lie within a Polygon. &amp;nbsp;I have to click on the feature in the list of features on the left-hand side...&lt;br /&gt;&lt;br /&gt;Is there a way of layering Lines above Polygons? &amp;nbsp;Or one set of Multigeometries above another?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-2859727732904209326?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/2859727732904209326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/kml-overlapping-features.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2859727732904209326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2859727732904209326'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/kml-overlapping-features.html' title='KML Overlapping Features'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4969772023595281359</id><published>2010-04-21T16:39:00.000+01:00</published><updated>2010-04-21T16:39:25.902+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>Exchange ActiveSync and iPhone: Messages stopped again</title><content type='html'>Client reports that ActiveSync has stopped working yet again... &amp;nbsp;checked PoolMon for Non-paged Pool and it's fine...&lt;br /&gt;&lt;br /&gt;There's an event in the Application Log for ActiveSync - ID 3033.&lt;br /&gt;&lt;br /&gt;Following this article:&lt;br /&gt;&lt;a href="http://support.microsoft.com/kb/905013/en-us"&gt;http://support.microsoft.com/kb/905013/en-us&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I checked the suggested registry key...&lt;br /&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="color: #20124d;"&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\MasSync\Parameters&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;And all four DWORDs are missing... I have set them to:&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;MinHeartbeatInterval - Dword - Decimal 60 (seconds)&lt;/li&gt;&lt;li&gt;MaxHeartbeatInterval - Dword - Decimal 2700 (seconds)&lt;/li&gt;&lt;li&gt;HbiSampleSize - Dword - Decimal 200 (samples)&lt;/li&gt;&lt;li&gt;HbiAlertThreshold - Dword - Decimal 480 (seconds)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;It suggests changing the HTTP(S) timeout values on the router firewall but I can't find them... so I'm going to do a simple IISRESET and see if that resolves the problem. &amp;nbsp;Trouble is, an IISRESET might just resolve the issue, despite the new registry entries... so I can only warn the client that's a possibility... (when he returns)...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If that doesn't resolve the issue for now... back to the drawing board...&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4969772023595281359?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4969772023595281359/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/exchange-activesync-and-iphone-messages.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4969772023595281359'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4969772023595281359'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/exchange-activesync-and-iphone-messages.html' title='Exchange ActiveSync and iPhone: Messages stopped again'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6871445254814182297</id><published>2010-04-17T15:23:00.000+01:00</published><updated>2010-04-17T15:23:36.621+01:00</updated><title type='text'>Mac OSXの一番メールプログラムはどち。。。？</title><content type='html'>昔。。。　Eudoraを使ったが、IMAPとか他の理由とか　変わった。。。　Thunderbird、Apple Mail、Zimbra、。。。&lt;br /&gt;&lt;br /&gt;いま　GoogleMailを使う。。　日本では、どのメールプログラムが普通？オンラインウェブメール？&lt;br /&gt;&lt;br /&gt;または　メールサーバ？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6871445254814182297?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6871445254814182297/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/mac-osx.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6871445254814182297'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6871445254814182297'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/mac-osx.html' title='Mac OSXの一番メールプログラムはどち。。。？'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6613113538919769403</id><published>2010-04-17T14:40:00.002+01:00</published><updated>2010-04-17T14:45:24.353+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='Roxio Easy Creator'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell PE1800'/><category scheme='http://www.blogger.com/atom/ns#' term='SBS'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><category scheme='http://www.blogger.com/atom/ns#' term='Dell OpenManage'/><category scheme='http://www.blogger.com/atom/ns#' term='PoolMon'/><title type='text'>Dell Server PE1800 2GB RAM - Windows SBS Server 2003 R2: One Hour to Reboot</title><content type='html'>This server has quite a few issues ... the main issue is that the Backup Exec 12 backups are failing each night...&lt;br /&gt;&lt;br /&gt;This blog isn't meant to be an anti-AVG blog... but AVG on this client's server is again the wrong version. &amp;nbsp;There should be safety blocks, detect Exchange running or something in the installer of the normal version to prevent it being installed... I've no idea why it's on there... perhaps it was an upgrade path at one time...&lt;br /&gt;&lt;br /&gt;Way to check on an Exchange server - (which took me ages to finally discover but minutes to check now) - Run Poolmon.exe -b from the Server Support Tools for Windows Server 2003... look for the tag, AvgU in the 'NonP' (non-paged memory pool)... it shouldn't be there on an Exchange server.&lt;br /&gt;&lt;br /&gt;So now I've uninstalled AVG and am installing the correct Exchange server version.&lt;br /&gt;&lt;br /&gt;Rebooting was interesting... &amp;nbsp;If only for this precise jump in time:&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event Source:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;EventLog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event ID:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;6006&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Date:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;           &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;17/04/2010 &amp;nbsp; &amp;nbsp; &amp;nbsp;Time:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;05:01:12&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Computer:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;SERVER1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Description: &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;The Event log service was stopped.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;------------------------------&lt;wbr&gt;&lt;/wbr&gt;--------------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event Source:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;EventLog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event ID:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;6009&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Date:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;          &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;17/04/2010 &amp;nbsp; &amp;nbsp; &amp;nbsp;Time:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;06:00:07&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Computer: &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;SERVER1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Description: &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;Microsoft (R) Windows (R) 5.02. 3790 Service Pack 2 Multiprocessor Free.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;------------------------------&lt;wbr&gt;&lt;/wbr&gt;--------------------------&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event Source:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;EventLog&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Event ID:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;6005&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Date:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;         &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;17/04/2010 &amp;nbsp; &amp;nbsp; &amp;nbsp;Time:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;06:00:07&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Computer:&lt;/span&gt;&lt;span style="white-space: pre;"&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;        &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;SERVER1&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: #0b5394;"&gt;Description: &amp;nbsp; &amp;nbsp;&amp;nbsp;The Event log service was started.&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;Anyone seen anything weird like that? &amp;nbsp;Precisely one hour between Event Log stopping and starting? &amp;nbsp;Could it be some settting in the Dell ACPI implementation for cooling the fans in the server? &amp;nbsp;I'm working remote so there's no way to check that without getting my colleague to look on his next visit.&lt;br /&gt;&lt;br /&gt;Perhaps so few people notice this because they are sitting next to the machine and get impatient after 15 minutes and hard reset it ... I sat watching Task Manager ordered by Processor Percentage, as you do sometimes (yawn), and noticed dsm_sa_datamgr32.exe popping up into second place every now and again.&lt;br /&gt;&lt;br /&gt;That kind of activity is going to play cruel with Virtual Shadow Copy during Adv. File Option activated backups... perhaps why the backup sits either in Snapshot Pre-processing or on-Queue all night and all day... there's not a quiet period during which it can start taking a snapshot... PERC overload...&lt;br /&gt;&lt;br /&gt;Services - DSM SA Data Manager: "Provides a common interface and object model to access management information about the operating system, devices, enclosures and management devices. If this service is stopped, several management features will not function properly."&lt;br /&gt;&lt;br /&gt;Version installed:&amp;nbsp;5.8.0.4938 - 3rd Dec 2007... that's a bit old, me reckons... There most certainly should be an update... have to upgrade to Dell Open Manage 6.2 ...&lt;br /&gt;&lt;br /&gt;In the mean time I've been warned by AVG 9.0 that the version of Roxio Installed on this server is out of date and might cause problems with AVG 9.0 and other programs... so I found a fix &lt;a href="http://www.roxio.com/enu/support/mserr/cdr4_7.html"&gt;here&lt;/a&gt;&amp;nbsp;(tho this might disappear soon) - it asked for reboot and I don't want to until I've installed AVG 9.0 so I'm going to have to ignore the warning from AVG 9.0... and install it .. I won't know if that link solved the problem with Roxio. &amp;nbsp;Best thing would be to remove Roxio 5... and install.. what is it now? 6, 7, 8, 9, 2010? &amp;nbsp; I don't know if they are using it or not, so I can't just remove it ..&lt;br /&gt;&lt;br /&gt;Strange .. I have found OpenManage 6.1.0 files ... but 5.8 is installed... 6.1.0 files were from 21st Oct 2009... but not installed? &amp;nbsp;Was a disk space issue apparently... &amp;nbsp;After doing a WSUS Cleanup there's 6GB free on F: ... so should be ok to install this time...&lt;br /&gt;&lt;br /&gt;Seems like Dell brought out an update to Open Manage in Dec 2009... 6.2.0 .. fixes a leak or crash in DSM SA Data Manager ... so I'll update that...&lt;br /&gt;&lt;br /&gt;Server updated and now rebooting... &amp;nbsp;Will it take another hour between the EventLog Stop and Start events in the Application Log? &amp;nbsp;Let's see...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6613113538919769403?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6613113538919769403/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/04/dell-server-pe1800-2gb-ram-windows-sbs.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6613113538919769403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6613113538919769403'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/04/dell-server-pe1800-2gb-ram-windows-sbs.html' title='Dell Server PE1800 2GB RAM - Windows SBS Server 2003 R2: One Hour to Reboot'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-7062413559830336034</id><published>2010-03-29T16:06:00.004+01:00</published><updated>2010-03-29T16:18:41.075+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='nx9005'/><category scheme='http://www.blogger.com/atom/ns#' term='Laptop strip'/><category scheme='http://www.blogger.com/atom/ns#' term='Dust'/><category scheme='http://www.blogger.com/atom/ns#' term='Fan'/><title type='text'>Noisy fan on HP Compaq nx9005</title><content type='html'>I have an old laptop (an HP Compaq nx9005) that sits switched on and its fan has been overworking forever... it gets hot and I worry sometimes that it's going to pack in... it did once... I lost the hard drive to some HD clicking bug - perfectly good hard disk one day... the next it's toast... no reason except age.   I have kept it just in case one day I can afford to send it off to someone who can replace the head and read my data off it...  (it's a Fujitsu 2.5in MHT2060AT from Dec 2003)&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Fan...  I am sure I stripped my laptop some time ago.. I cleaned the dust from it... it made no difference...  I also checked every service and program running in Windows and it's hardly got any excuse to have a full blast fan all the time.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I stripped it again... opened it up and took out all the drives, wiped the mouse board, dusted around... removed the CPU fan... then discovered I could undo the fan box... 4 screws... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Inside I discovered a wad of fluff packed against the venting fins... a few mms thick... picked it out... brushed it all clean... and ...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Now the laptop sits there so silently I worry sometimes that it has switched itself off... there was perhaps something comforting about hearing it whirring away...   Anyway, that's taken a little bit of pressure off the fan and minutely from the electricity bill...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-7062413559830336034?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/7062413559830336034/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/noisy-fan-on-hp-compaq-nx9005.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7062413559830336034'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7062413559830336034'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/noisy-fan-on-hp-compaq-nx9005.html' title='Noisy fan on HP Compaq nx9005'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-5518142840487146254</id><published>2010-03-29T15:55:00.003+01:00</published><updated>2010-03-29T16:05:44.212+01:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Non-Paged Pool'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><title type='text'>iPhone and Exchange ActiveSync: Incorrect AVG Version</title><content type='html'>Well, having discovered the server was losing non-paged pool resources I used poolmon and watched the resources over a couple of days...&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;AvgU&lt;/b&gt; was rising along with &lt;b&gt;File&lt;/b&gt; and &lt;b&gt;Irp&lt;/b&gt;.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;If you open a cmd window and cd to c:\Windows\System32\drivers ... you can run &lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;'findstr /m /l AvgU *.sys'&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;That should return just the file name of any sys file that contains the literal string 'AvgU'.  It returned 'Avgtdix.sys'.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Further googling... Avgtdix.sys is a Network Connection Watcher.   This file should NOT be installed on an Exchange Mail Server.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I have uninstalled AVG from the server and installed the Exchange Mail Server version of AVG (paid).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;No Avg tags are showing up in the Non-Paged Pool...  there's no Online Shield or Email Scanner in this version...  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will have to monitor the server for another few days... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-5518142840487146254?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/5518142840487146254/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/iphone-and-exchange-activesync.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5518142840487146254'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/5518142840487146254'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/iphone-and-exchange-activesync.html' title='iPhone and Exchange ActiveSync: Incorrect AVG Version'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6636771518346024421</id><published>2010-03-26T12:42:00.003Z</published><updated>2010-03-26T13:45:42.850Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='IIS6'/><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='PoolMon'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>iPhone and Exchange ActiveSync: not solved - reoccurred</title><content type='html'>So I got a call that the iPhone stopped getting emails...  I didn't check till they went home in case I needed to restart their server out-of-hours ... &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When I did connect I decided to run MS Exchange Best Practices Analyser... (search on ExBPA).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I knew one of the Best Practices was having an Application Log size in Event Viewer of 40Mb - so I decided to alter that myself first whilst I was waiting...  I must have dozed off at that point ... suddenly I was disconnected... RealVNC was suggesting I was connected - it wasn't asking for my username and password - but my connection was getting refused by the server - 'Read/state - Connection disconnected by peer (10054)' &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Somewhere I read that 10054 'read/state' might mean that the Application log size was too small and so the server could not accept connections... that was close?  Did I type 40kb?  I couldn't connect via VNC... but I couldn't connect either via VPN... could that cause that too?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I had to wait until the morning and catch the first person into the office... when I called they said they couldn't log in either...  they could log into the server terminal... a quick look at the System log revealed srv errors related to non-paged pool memory....  I got them to reboot so we could all log in ... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;When non-paged memory has only 20Mb left then Windows shuts all connections down... IIS6, HTTP.SYS, users are logged out, VPN connections shut down, RealVNC connections... and so on... it does that to prevent resources becoming so low that the system crashes... you are forced to log into the server and sort it out.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.msdn.com/david.wang/archive/2005/09/21/HOWTO-Diagnose-IIS6-failing-to-accept-connections-due-to-Connections-Refused.aspx"&gt;David Wang's HowTo post&lt;/a&gt; helped point me to Poolmon.exe - a tool that monitors which components are using Paged and Non-Paged memory...  Poolmon.exe is one of the Windows Support Tools and can be &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=96a35011-fd83-419d-939b-9a772ea2df90&amp;amp;displaylang=en"&gt;downloaded from Microsoft&lt;/a&gt;.   &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Once installed, open a cmd window and type:  &lt;b&gt;poolmon -b&lt;/b&gt; to list by bytes - which is the column to watch...  &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Because my client's server has just booted this will just tell me initial values...  so I am saving to a file: &lt;b&gt;poolmon -b -n datetime.txt&lt;/b&gt;.  Then I'll import the file into Excel and time stamp each row.    I'll run poolmon every now and again and see which values are changing and which aren't.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So far I've got several culprits:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;Irp - - Io, IRP packets&lt;/li&gt;&lt;li&gt;File - - File objects&lt;/li&gt;&lt;li&gt;AvgU - an AVG component&lt;/li&gt;&lt;li&gt;Ntfr - ntfs.sys - ERESOURCE (not to be confused with NtfR)&lt;/li&gt;&lt;li&gt;MmCa - nt!mm - Mm control areas for mapped files&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;the largest riser is AvgU, followed by File.  That's not surprising considering everyone had been logging in and were now accessing their files...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;An hour later:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;FMsl - - fltmgr.sys - STREAM_LIST_CTRL structure&lt;/li&gt;&lt;li&gt;File - - File objects&lt;/li&gt;&lt;li&gt;AvgA - an AVG component&lt;/li&gt;&lt;li&gt;AvgU - an AVG component&lt;/li&gt;&lt;li&gt;Ntfr - ntfs.sys - ERESOURCE&lt;/li&gt;&lt;li&gt;MmCa - nt!mm - Mm control areas for mapped files&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;My bet is that AVG is going to be the culprit...  I will stop working on this now.  Later I will take one more reading, but I may just remove AVG and install the correct server version - this version looks different to the other servers that I get to look at.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6636771518346024421?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6636771518346024421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/iphone-and-exchange-activesync-not.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6636771518346024421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6636771518346024421'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/iphone-and-exchange-activesync-not.html' title='iPhone and Exchange ActiveSync: not solved - reoccurred'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-2332977964652420200</id><published>2010-03-22T15:23:00.004Z</published><updated>2010-03-22T15:41:06.251Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Virtual Server 2005 R2'/><category scheme='http://www.blogger.com/atom/ns#' term='Windows Server 2003'/><title type='text'>Virtual Server: Can't connect</title><content type='html'>&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Client can't connect to a Virtual Server PC session - but I can see it is in a running state on the server.  The network is disconnected on the Guest OS...  The user can't connect because the guest OS can't connect to the network adapter resource on the host... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Errors in Event Viewer -&gt; Virtual Server Event Log:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Type:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Warning&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Source:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Virtual Server&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Category:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Virtual Server&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event ID:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;1130&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Date:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;02/02/2010&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Time:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;15:01:01&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;User:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;NT AUTHORITY\NETWORK SERVICE&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Computer:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;SERVERNAME&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Description:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;The service principal names for Virtual Server could not be registered. Constrained delegation cannot be used until the SPNs have been registered manually.  Error 0x80072098 - Insufficient access rights to perform the operation.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Type:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Warning&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Source:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Virtual Server&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Category:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Remote Control&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event ID:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;1029&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Date:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;02/02/2010&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Time:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;15:01:01&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;User:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;NT AUTHORITY\NETWORK SERVICE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Computer:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;SERVERNAME&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Description:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;The service principal name for the VMRC server could not be registered. Automatic authentication will always use NTLM authentication.  Error 0x80072098 - Insufficient access rights to perform the operation.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Type:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Warning&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Source:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Virtual Server&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event Category:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Virtual Server&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Event ID:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;1136&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Date:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;02/02/2010&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Time:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;15:01:01&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;User:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;NT AUTHORITY\NETWORK SERVICE&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Computer:&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;SERVERNAME&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Description:&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;An error has occured during the creation of Service Connection points for Virtual Server in Active Directory. Either a domain controller is not available to complete the operation or there is a security problem accessing the domain. This operation will be retried the next time the service starts.  Error 0x80070005 - Access is denied.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Something has happened to the credentials under which the Virtual Server Guest OS is running?  It's been working fine for a year now... and no one has touched this set up except myself when I set it up.  Except for Windows Update... but Windows Update is not set to run on this machine for that very reason...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Those message above have been popping up all year too... but never affected it in this way before...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Loading up Internet Explorer ... Virtual Server 2005 R2 Master Status page... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Virtual Machines -&gt; Configure -&gt; &lt;machinename&gt; ... leads me to the MachineName Status and Configuration page, where under General Properties, I can select: "&lt;span class="Apple-style-span"  style="color:#000099;"&gt;Run virtual machine under the following user account:&lt;/span&gt;" and enter new credentials...  Let 's see if that stops it ...   (and a reboot - which would probably clear up the network glitch anyway...)&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-2332977964652420200?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/2332977964652420200/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/virtual-server-cant-connect.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2332977964652420200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2332977964652420200'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/virtual-server-cant-connect.html' title='Virtual Server: Can&apos;t connect'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-7322082338241760807</id><published>2010-03-20T11:59:00.009Z</published><updated>2010-03-22T15:41:20.597Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='BES'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='Entourage'/><title type='text'>Exchange: 13 month old email received on Blackberry</title><content type='html'>&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;A client keeps on receiving batches of 10 or so emails on their Blackberry via Exchange... those forwarded to me (on the 19th March 2010) were dated 16th Feb 2009 and 19th October 2009.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;The client has Microsoft Exchange 2003, AVG for Exchange, MAC Entourage, Blackberrys using Blackberry Internet Service (BIS).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;I have connected up to Outlook Web Access and checked that the emails received are still in the user's Inbox... so there is some kind of periodic sweep over a batch of emails in the Mailbox every now and again...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;First look... is AVG again... perhaps biased by not looking at AVG in the last problem (with &lt;/span&gt;&lt;/span&gt;&lt;a href="http://oliverslay.blogspot.com/2010/03/exchange-activesync-and-iphone-problems.html"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;iisadmin and https services not restarting&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;)...  version is 9.0.272... all fairly up-to-date...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Email Scanner for Exchange settings VSAPI (in Advanced Settings -&gt; Server Components) selected components are:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Background Scan - On&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Proactive Scan - Off&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Scan RTF - On&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Number of Scanning Threads: 9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Scan Timeout: 180&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;A background scan could sweep through email messages... I need to find out what AVG says this does...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Background scanning is one of the features of the VSAPI application interface. It provides threaded scanning of the Exchange Messaging Databases. Whenever an item that has not been scanned before is encountered in the users mailbox folders, it is submitted to E-mail Scanner for MS Exchange to be scanned. Scanning and searching for the not examined objects runs in parallel. Note: A specific low priority thread is used for each database, which guarantees other tasks (e.g. e-mail messages storage in the Microsoft Exchange database) are always carried out preferentially.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;So... there's a background process, running on a low-priority thread, meaning it'll give up processor time to anything with a higher priority... the timeout is 3 minutes per email - (that's the maximum time the scanner can spend on any one email)... on a busy server that could take a long time to scan a few large emails (at the least 20 emails per hour (unless Exchange is busy sending and receiving emails or responding to lots of Entourage requests from around the Office?)... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;So my theory at the moment is that the low priority thread that VSAPI background scanning is working on is having to give way to other higher priority threads... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Another factor is that the client's office is all Mac .. all Entourage... and Entourage talks to Exchange differently than Outlook does... does this explain why other clients don't have a problem with their Blackberry synchronising?  I guess I have to look into VSAPI a little...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;This from the MS Exchange Team Blog is useful background (Parts 1,2,3):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2004/10/20/245157.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://blogs.technet.com/exchange/archive/2004/10/20/245157.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2004/11/02/251177.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://blogs.technet.com/exchange/archive/2004/11/02/251177.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2004/11/15/257737.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://blogs.technet.com/exchange/archive/2004/11/15/257737.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;First, this advises (in Part 2) switching on Medium Diagnostics Logging on Antivirus Scanning... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;In Exchange Admin -&gt; Servers -&gt; Server -&gt; Properties -&gt; Diagnostic Logging tab -&gt; in services: MSExchangeIS -&gt; System -&gt; in categories: Antivirus -&gt; Set Medium or Maximum logging level -&gt; Click OK to exit...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Wow... just noticed while in Exchange Admin (&lt;/span&gt;&lt;/span&gt;&lt;server&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; -&gt; First Storage Group -&gt; Mailboxes)&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; that this particular user's Mailbox is 10GB... the largest of all the users on that network, next largest is 6GB then 4GB... So that is now a potential factor in slow Background Scanning of this mailbox and old emails on her Blackberry...&lt;/span&gt;&lt;/span&gt;&lt;/server&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Diagnostic logging on ... also the Exchange Blog mentions that when an email is scanned it is stamped - "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;At the completion of the scanning process &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;ptagVirusScanningStamp&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; is updated reflecting the results of the scan. This property holds information such as the vendor, version, scan results, and miscellaneous information regarding the last scan of the item"&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; -  Perhaps if the email has never been scanned, this stamp affects the sync?&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;It's been a few minutes now... so time to check Event Viewer for Antivirus events... (darn.. I reckon I need to restart MSExchangeIS service!)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;These came in long before I switched on Max logging level:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  color: rgb(51, 51, 51); line-height: 15px; "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);  line-height: normal;  "&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Event Type:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Error&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Event Source:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;MSExchangeIS&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Event Category:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Virus Scanning &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Event ID:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;9581&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Date:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;20/03/2010&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Time:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;12:44:23&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;User:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;  &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;N/A&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Computer:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;SERVER&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Description:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Error code -536768764 returned from virus scanner initialization routine. Virus scanner was not loaded. &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;So if the scanner has been unable to initialise on a regular basis... I should take a note of the dates and times of all Events with ID 9581 - they might tally with old emails being sent - or they might not... I find it's good to have some solid dates and times...  It might also happen at a particular time of the day or periodically - so making a note of times and dates helps to see a pattern if one exists...  Or simply filter all Events in the Application Log by ID 9581... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;ok... these messages occur at 00:44am and 12:43pm every day for the last 3 days 17-20th March 2010; then on the 5th Feb 2010; 16th to 22nd Dec 2009; and 9th/10th Dec 2009&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;I've got to presume that the rest of the time MSExchangeIS antivirus scanning was working fine...  On the days it doesn't work, something regular is interfering... like backups? ... but there are also other times... on 4:44am on 18th Dec... and two this morning at 5am and 8am... which is perhaps when I ran the Exchange Best Practice Analyzer... or Trace Analyzer...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Microsoft Best Practice Analyzers web site... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://technet.microsoft.com/en-us/exchange/bb288481.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://technet.microsoft.com/en-us/exchange/bb288481.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;.. what is happening at 12:43 and 00:44?  First check backup times, particularly the time that the Exchange backup begins... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;It appears that Backup Exec (12) is half way through backing up (with GRT enabled) at 00:44... but it starts an hour earlier and finishes afterwards... and it can't explain the 12:43pm failure...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Ah... AVG Antivirus Update Manager is set to check for virus updates every four hours and the last one was at 12:44pm ... That explains the 4:44am one on the 18th Dec, maybe the 8:42am this morning... but not the 5:09am... perhaps it was when I was playing around with AVG Email settings... ?  possibly... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Is event 9581 in 'MSExchangeIS\Virus Scanning' relevant?  Time to ask the client for as many dates and times that they received these old emails on their Blackberry... if they can... See if the dates tally with the dates of these errors at all...  and also find out whether any of the old emails received were dated after the 9th December... (perhaps they used Blackberry Enterprise Server (BES) before and Internet Service (BIS) after then...?)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Whilst digging around on the Exchange Team Blog... I discovered a post about a &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;change made in 2006 to Exchange that could affect Blackberrys and other services&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; - connected to 'Send As' permissions... I'm not sure that applies here but for anyone with that problem here...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://blogs.technet.com/exchange/archive/2006/04/28/426707.aspx"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://blogs.technet.com/exchange/archive/2006/04/28/426707.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;they point to kb article - 912918 - &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Users cannot send emails from a mobile device or from a shared mailbox in Exchange 2000 or 2003&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; - it mentions that it would break sending emails if you use BES... (perhaps that accounts for an error I saw back in 2008...)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://support.microsoft.com/kb/912918"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://support.microsoft.com/kb/912918&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;/&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;And - &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Send As permission behaviour change in Exchange 2003&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://support.microsoft.com/kb/895949/"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://support.microsoft.com/kb/895949/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="  line-height: 16px; "&gt;&lt;span class="Apple-style-span"  style="color:#000099;"&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;A fix has been released that changes the behavior of the "Full Mailbox Access" feature in Microsoft Exchange Server 2003. Prior to this change, any user with the “Full Mailbox Access” permission for a mailbox also had the ability to “Send As” the mailbox owner.&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;...  the script is not straightforward.. you have to read the first kb article to know how to use it properly... there's no '-?' switch... - doesn't appear to do anything on our server.. no output...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;I'm going to leave the server running for a bit with MSExchangeIS Antivirus logging enabled... Seems that Antivirus starts scanning the Mailbox and Public Folders at 00:44 - Public Folders is over in 6 minutes and Mailbox goes on for between 4 and 19 hours.  It then starts again... but is quicker.  Could be that it only does a full scan if the virus signatures are updated in AVG - then it has to re-scan everything that it has marked suspect.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Going to leave this till I hear back from the user...  with diagnostics running on Virus Scanning I'll be able to see a connection next time... or not...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-7322082338241760807?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/7322082338241760807/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/exchange-13-month-old-email-received-on.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7322082338241760807'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/7322082338241760807'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/exchange-13-month-old-email-received-on.html' title='Exchange: 13 month old email received on Blackberry'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-2379107145008594504</id><published>2010-03-19T02:30:00.008Z</published><updated>2010-03-19T19:15:47.601Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SSL'/><category scheme='http://www.blogger.com/atom/ns#' term='AVG'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='ActiveSync'/><title type='text'>Exchange ActiveSync and the iPhone: Problems Connecting (solved)</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I think I have just about tried every trick in the book to get these iPhones connected to my client's SBS 2003 server... from deleting the Virtual Servers in Exchange Admin, removing them from the IIS MetaBase, DS2MB and letting SBS recreate them, checking through all the authentication and access settings, testing SSL, check User-level ActiveSync settings/Outlook Mobile Access and Global-level ActiveSync/OMA settings...&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Up for a breather... and ... every time I ran IISRESET it would hang on HTTP SSL service - HTTP Filter.. so then there's no way that IISADMIN would restart... and then IIS is down because W3SVC won't come back up...  so it meant a reboot every time...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;[One of the problems on the SBS was that 2 updates had failed... .NET 2.0 SP2 (KB976569) was failing over and over - it appeared to take hours (14 hours - I tried to cancel the update and reboot the server - I should have made sure the Update was stopped before rebooting - since I was working on a server 200 miles away I had to wait till the client came in to find the server stuck on shutdown before I could get access again.) - after some investigation into the log files I found it failed because IISADMIN did not restart when asked.  The other update was an Intelligent Message Filter for Exchange 2003 SP2 update from Feb 2010 (KB907747). Neither told me why they failed.  Both failed due to IISADMIN not restarting (due to HTTP SSL not stopping)... I had to disable IISADMIN, reboot, install the updates, re-enable IISADMIN, reboot.  And try to figure out why HTTP SSL was not stopping in a timely fashion.]&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So my main focus became digging around in IIS... making sure the OWA and OMA applications in Default Website were attached to the correct ApplicationPool, ExchangeApplicationPool or the ExchangeMobile one... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Errors 3005 3007 for ActiveSync... really just tell me something's up... maybe a timeout...  maybe the server is overloaded... but for a big server like that with a handful of users ... hardly likely... must be a setting somewhere...  Number of concurrent connections .. in Performance on Default Website properties... that did something.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Check the log files under C:\Windows\System32\LogFiles\HTTPerr and ..\W3SVC1 - go to the end of each file and look for PROPFIND and POST and GET statements from ActiveSync... go to the end of each line and check if you get 409, 207, 403 ... if you're not getting a nice round number like 200, 400 etc then something's up... and it's another pointer in some direction... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;You can view which devices have connected by connecting and visiting (using any browser):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:Georgia, serif;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;https://mail.mydomain.com/exchange/&lt;/span&gt;&lt;/span&gt;&lt;username&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;/NON_IPM_SUBTREE/Microsoft-Server-ActiveSync&lt;/span&gt;&lt;/span&gt;&lt;/username&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Having fixed a few glitches here and there... and having been up all night and day... mostly waiting for reboots... something was holding HTTP open... and slowing this process down.. people don't reboot &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;every&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; time they make a change to IIS?  duh....&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I started to run combinations of the installed programs through Google...  and there .. lo and behold ... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Antivirus...  AVG ... You should not install AVG Online Shield, AVG Firewall and Email Scanner on a Windows Server running Exchange (and definitely not Exchange ActiveSync) &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The Online Shield scans HTTP, HTTPS traffic - it has a hook into the HTTP SSL/HTTP Filter service ... and was not specified as a DependsOnService (or vice versa...) so there's no call to it to stop and start... HTTP SSL sits and waits for AVG Online Shield to stop using it for AVG to stop ... but that won't happen...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Avg Email Scanner just adds another layer around POP3 and SMTP ... with it scanning ports 25 and 110 on a machine with Exchange running... adds another layer in the timeout values possibly... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Once Online Shield and Email Scanner were switched off ... IISRESET worked without rebooting .. what a joy I did it several times over and over ...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;An hour or two later the client texted me to say his iPhone was getting emails ... marvellous...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;These websites were helpful:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Henrik Walther's in-depth &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.msexchange.org/tutorials/Securing-Exchange-Server-2003-Outlook-Web-Access-Chapter5.html"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Chapter 5&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; from his book "&lt;/span&gt;&lt;/span&gt;&lt;span class="Apple-style-span" style="  border-collapse: collapse; color: rgb(51, 51, 51); line-height: 14px; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;&lt;a href="http://www.msexchange.org/tutorials/Securing-Exchange-Server-2003-Outlook-Web-Access-Chapter5.html"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Securing Exchange Server 2003 &amp;amp; Outlook Web Access&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0);  line-height: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px;  "&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;" - perfect for understanding the nitty-gritty bits of Exchange HTTP Virtual Folders etc...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;AVG - What AVG components are not designed for server operating systems?&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.avg.com/us-en/faq.num-1337#num-1337"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.avg.com/us-en/faq.num-1337#num-1337&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Microsoft's Exchange ActiveSync Test Website:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" color: rgb(0, 128, 0); "&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;https://www.&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;test&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;exchange&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;connectivity&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;a href="https://www.testexchangeconnectivity.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.com/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style=" color: rgb(0, 128, 0); "&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Microsoft Exchange ActiveSync Administration Tool ... a tool that you can use to delete old devices from ActiveSync Administration Tool... I should let my client know about it since his old iPhone that he replaced in December is still in the system.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e6851d23-d145-4dbf-a2cc-e0b4c6301453"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=e6851d23-d145-4dbf-a2cc-e0b4c6301453&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Microsoft Exchange ActiveSync Certificate-Based Authentication Tool:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=82510e18-7965-4883-a8c3-f73f1f4733ac"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.microsoft.com/downloads/details.aspx?displaylang=en&amp;amp;FamilyID=82510e18-7965-4883-a8c3-f73f1f4733ac&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;GoDaddy SSL Certificates - works well with most PDAs, iPhone, Windows Mobile, Android and Exchange ActiveSync - also quite cheap at the moment for secure authentication...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.godaddy.com/ssl/ssl-certificates.aspx?ci=8979"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;http://www.godaddy.com/ssl/ssl-certificates.aspx?ci=8979&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;If anyone still needs help ... leave a comment... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-2379107145008594504?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/2379107145008594504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/exchange-activesync-and-iphone-problems.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2379107145008594504'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2379107145008594504'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/exchange-activesync-and-iphone-problems.html' title='Exchange ActiveSync and the iPhone: Problems Connecting (solved)'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4048774493029466897</id><published>2010-03-10T16:28:00.003Z</published><updated>2010-03-20T12:17:26.271Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='Visual Studio 2008'/><category scheme='http://www.blogger.com/atom/ns#' term='DataGridView'/><category scheme='http://www.blogger.com/atom/ns#' term='LINQ'/><title type='text'>Filtering a DataSet for a DataGridView: DBNulls &amp; StrongTypingException</title><content type='html'>&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So... if you got here because you have a DataSet as the DataSource for a DataGridView in .NET and you are trying to filter the DataSet using LINQ... or some other method and it keeps returning this error:&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The following Exception occurred in the DataGridView:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;System.Reflection.TargetInvocationException: Property accessor 'fieldname' on object 'dataset.myDataSet+qryTable' threw the following exception: 'The value for 'fieldname' in table 'qryTable' is DBNull.'  --&gt; &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;System.Data.StrongTypingException&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;: &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The value for column 'fieldname' in table 'qryTable' is DBNull'&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; --&gt; System.InvalidCastException: Unable to cast object of type 'System.DBNull' to type 'String'. blah blah blah....&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;StrongTypingException&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; text is explicitly set in &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;myDataSet.Designer.cs&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; and has been automatically generated by the DataSet Designer in Visual Studio:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;blockquote&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;throw new global::System.Data.StrongTypingException("The value for ... etc");&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;The code for '&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;fieldname&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;' tries to get the value from the &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;fieldname&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; column in the query's DataSet table and finds a null.  When it converts it to a string it fails and the &lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;InvalidCastException&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; is caught by a Try..Catch which then throws the StrongTypingException...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;So how do I change it...?  Open &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;myDataSet&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; in Designer, and click on the offending &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;fieldname&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; in &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;qryTable&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;.  In Properties, there is a property '&lt;/span&gt;&lt;/span&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;NullValue&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;'.   There are 3 values:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(Empty)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(Null)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;li&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(Throw Exception)&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;I had been setting string values to '&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(Empty)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;'.  However for integer, date and boolean values and so on, you cannot select any of the options except '&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;(throw exception)&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;', the default... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Today I needed an answer... and discovered that you can type '0' (zero) into the NullValue property box for integers or boolean.  For dates you can enter the date in &lt;/span&gt;&lt;/span&gt;&lt;u&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;AllXsd&lt;/span&gt;&lt;/span&gt;&lt;/u&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; date format: &lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;1900-12-20T20:30:59.8999&lt;/span&gt;&lt;/span&gt;&lt;/i&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt; (for example).&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;When each column's NullValue has been set, you will no longer see the StrongTypingException.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Unfortunately, I went through all my fields and set them to something other than 'throw exception' and then all sorts of bugs starting appearing in my code... the table could not be found in the dataset - I had to re-create the dataset... maybe that was a bug... luckily it was just a small dataset...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;Now I have columns that are partially filled with zeroes... but I'm sure we can hide them... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;It's a shame that the Designer can't let us use Nullable ints, dates and booleans etc..  that would solve the problem too...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4048774493029466897?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4048774493029466897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/filtering-dataset-for-datagridview.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4048774493029466897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4048774493029466897'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/filtering-dataset-for-datagridview.html' title='Filtering a DataSet for a DataGridView: DBNulls &amp; StrongTypingException'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-4058499850650490635</id><published>2010-03-09T06:14:00.002Z</published><updated>2010-03-20T12:18:09.162Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SearchByPostcode'/><category scheme='http://www.blogger.com/atom/ns#' term='UK'/><category scheme='http://www.blogger.com/atom/ns#' term='Constituencies'/><category scheme='http://www.blogger.com/atom/ns#' term='National Statistics'/><title type='text'>Find by Postcode: Some useful links</title><content type='html'>&lt;span class="Apple-style-span"  style=" ;font-family:'Times New Roman';"&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Whilst on my searches I found a heap of websites that allow you to use GIS/Geolocation/Gazetteer API with or without registration...  and also some others:&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;a href="http://www.nearby.org.uk/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.nearby.org.uk/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - quite a lot of resources by Postcode... conversion to and between coordinates/coordinate systems ... downloadable bounding boxes that cover the World / UK and work in Google Earth... &lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;a href="http://openspace.ordnancesurvey.co.uk/openspace/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://openspace.ordnancesurvey.co.uk/openspace/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  - "The OS OpenSpace API is free to access and lets developers create amazing web applications and online projects with Ordnance Survey maps."  But it's not just for developers... visit and see what you can do...&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;a href="http://en.wikipedia.org/wiki/Category:United_Kingdom_Parliamentary_constituencies"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://en.wikipedia.org/wiki/Category:United_Kingdom_Parliamentary_constituencies&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - of course Wikipedia has so much information ... and helped sort the Wards between the Constituencies... and the Wards amongst the Local Authorities... There does not appear to be a relation between Constituency and Local Authority... except that a ward in a Constituency is in a local authority...  but a ward in a neighbouring Local Authority might also be in that Constituency... the borders are set by the&lt;/span&gt;&lt;/span&gt;&lt;a href="http://en.wikipedia.org/wiki/Boundary_Commission_for_England"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Boundary Commission for England&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; (source Wikipedia).&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;a href="http://www.election-maps.co.uk/index.jsp"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.election-maps.co.uk/index.jsp&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  - This looks like the kind of website I should have looked at as I was starting...  It allows you to search by postcode or by place / LA / Constituency... and shows the area covered on a map... you can highlight the boundaries on the map... get a lot of information by postcode...  but it's not as open in terms of letting developers mash it up...  There's a lot of information on each level of government and the different levels of constituency... under 'Useful Facts'&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.parliament.uk/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.parliament.uk/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;  - This was referenced by the above under 'Useful Facts' ... this is one website that we had been using to find out information by postcode... this links us by postcode to the relevant Local Authority's website... Use the 'Find Your MP' search facility halfway down the page.  I can email my MP from this page...   or use a link on the left hand side to get a full list of MPs in their constituencies...  very useful... (when it comes to filling out that part of the database...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://mycouncil.direct.gov.uk/index.html"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://mycouncil.direct.gov.uk/index.html&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Connect to your Council ... Enter your postcode and select the service required... &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Report Graffiti, report a pothole, find out about planning permission... and so on.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.theyworkforyou.com/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.theyworkforyou.com/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Keeping tabs on the UK's parliament and assemblies... Find out what the MPs are saying.... (some useful API here - requires registration and fair use)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.direct.gov.uk/en/HomeAndCommunity/index.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.direct.gov.uk/en/HomeAndCommunity/index.htm&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - The government's Home and Community website .. with links to masses of information and services ... Fire Safety, Housing, Buying Selling Renting a home, Getting Involved in Community, Planning Permission, reporting Flooding ... and more...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.direct.gov.uk/en/index.htm"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.direct.gov.uk/en/index.htm&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Find local services from this site - enter postcode on right hand side...&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.nhs.uk/servicedirectories/Pages/ServiceSearch.aspx"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.nhs.uk/servicedirectories/Pages/ServiceSearch.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Find your local Health Services, Doctors Dentists and so on..&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.sitefinder.ofcom.org.uk/"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.sitefinder.ofcom.org.uk/&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Find local Mobile phone masts by postcode or placename&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.environment-agency.gov.uk/homeandleisure/floods/31650.aspx"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://www.environment-agency.gov.uk/homeandleisure/floods/31650.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Check your risk of flooding ... enter your postcode on the right hand side....&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://directgov.transportdirect.info/Web2/Home.aspx"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;http://directgov.transportdirect.info/Web2/Home.aspx&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; - Travel between 2 points in the UK - by car / public transport / etc - calculate CO2 emissions for your journey.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-4058499850650490635?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/4058499850650490635/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/find-by-postcode-some-useful-links.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4058499850650490635'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/4058499850650490635'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/find-by-postcode-some-useful-links.html' title='Find by Postcode: Some useful links'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-6985084820548453019</id><published>2010-03-02T12:02:00.002Z</published><updated>2010-03-20T12:19:44.829Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SearchByPostcode'/><category scheme='http://www.blogger.com/atom/ns#' term='UK'/><category scheme='http://www.blogger.com/atom/ns#' term='NeSS Data Exchange'/><category scheme='http://www.blogger.com/atom/ns#' term='C#.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='National Statistics'/><title type='text'>UK Government ONS: NeSS Data Exchange (NDE)</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Task 2:  Fill in the Wards and Councils for the next Election (2010) into a Contact database - by each contact's postcode.&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;I've chosen to look at NeSS Data Exchange (NDE), a free web service with which you can run queries against the &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.neighbourhood.statistics.gov.uk/"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Neighbourhood Statistics from ONS&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;With this service you can run queries from websites, Excel spreadsheets, databases, Ajax, Flex, Java, .NET applications... and there's a lot of statistics to discover.  NDE2 can use both SOAP and REST (not strictly RESTful) protocols without authentication.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Example datasets:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;"What are the child areas of Havant local authority?"&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Search for Wards, Unitary Authorities by Postcode or AreaId&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Get "Indexes of Deprivation" and filter by Unitary Authority&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;and various other indicators, statistics from local councils and UK government offices.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;NDE2 no longer requires registration...  &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;I found a good &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.neighbourhood.statistics.gov.uk/HTMLDocs/downloads/QuickStart-Guide-V2.0.pdf"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;technical guide&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; in PDF format. There are two service endpoints that you can visit and play with to discover what kind of information is available:&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Discovery: &lt;/span&gt;&lt;/span&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Disco"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;NeSSDiscoveryService endpoint&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;  (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Disco"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://neighbourhood.statistics.gov.uk/NDE2/Disco&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;Delivery:  &lt;/span&gt;&lt;/span&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Deli"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;NeSSDeliveryService endpoint&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt; (&lt;/span&gt;&lt;/span&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Deli"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;http://neighbourhood.statistics.gov.uk/NDE2/Deli&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;From the technical guide it appears that the datasets are split into Hierarchies and Level Types.  &lt;/span&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;For my purposes I need Level Types 13 (Electoral Ward) and 14 (Local Authority).  I do not need to worry about Hierarchies...  Out of interest tho .. running the Disco/GetHierarchies? command from the above Discovery endpoint returns:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span"  style="font-size:small;"&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;/ns0:hierarchyid&gt;&lt;/ns0:hierarchy&gt;&lt;blockquote&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;NeSS Geography Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;15&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2006 Health Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;4&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2003 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2003 Health Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2004 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2005 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;18&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2007 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;3&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;1998 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;7&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2003 Electoral Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;12&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;New Deal for Communities (Best fit)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;17&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2006 Administrative Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;9&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2003 Parish Hierarchy&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;Provisional Parliamentary Constituencies 2007&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;ns0:hierarchy&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2003 Education Hierarchy&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;/blockquote&gt;&lt;ns0:hierarchy&gt;&lt;ns0:name&gt;&lt;/ns0:name&gt;&lt;/ns0:hierarchy&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;Disco/GetLevelTypes? returns (some removed):&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; font-size: medium; "&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;/ns0:leveltypeid&gt;&lt;/ns0:leveltype&gt;&lt;blockquote&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;164&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;COM&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Community&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;10&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;CTRY&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Country&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;180&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;EA&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Education Area&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;9&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;EW&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;England and Wales&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;21&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GAZ&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Gazetteer&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;8&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GB&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Great Britain&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;11&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;GOR&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Government Office Region&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;19&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;HA&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Health Authority&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;13&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;LA&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Local Authority&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;141 &lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;LSOA&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Lower Layer Super Output Area&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;140&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;MSOA&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Middle Layer Super Output Area&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;201&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;NDC&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;New Deal for Community&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;17&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;NP&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;National Park&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;16&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;P&lt;span class="Apple-tab-span" style="white-space:pre"&gt;   &lt;/span&gt;Parish&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;20&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;PCO&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Primary Care Organisation&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;81&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SHA&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Strategic Health Authority&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;144&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;SPR&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Scottish Parliamentary Region&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;153&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;USOA&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Upper Layer Super Output Area&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;14&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;WARD&lt;span class="Apple-tab-span" style="white-space:pre"&gt; &lt;/span&gt;Ward&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;ns0:leveltype&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;27&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;WPC&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;Westminster Parliamentary Constituency (currently as they were in 2005)&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;/blockquote&gt;&lt;ns0:leveltype&gt;&lt;ns0:name&gt;&lt;/ns0:name&gt;&lt;/ns0:leveltype&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: 'trebuchet ms'; font-size: small; "&gt;Running Disco/SearchSByAByPostcode with a postcode and level type 13 or 14 returns the local authority (and ward). I.e.,&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Disco/SearchSByAByPostcode?LevelTypeId=13&amp;amp;Postcode=EC2Y8BP"&gt;http://neighbourhood.statistics.gov.uk/NDE2/Disco/SearchSByAByPostcode?LevelTypeId=13&amp;amp;Postcode=EC2Y8BP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;blockquote&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;Returns:  (Level Type) 13&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (Hierarchy) &lt;/span&gt;&lt;/span&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (AreaId) &lt;/span&gt;&lt;/span&gt;&lt;ns0:areaid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;276743&lt;/span&gt;&lt;/span&gt;&lt;/ns0:areaid&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (Local Authority) &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;City of London&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/blockquote&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;a href="http://neighbourhood.statistics.gov.uk/NDE2/Disco/SearchSByAByPostcode?LevelTypeId=14&amp;amp;Postcode=EC2Y8BP"&gt;http://neighbourhood.statistics.gov.uk/NDE2/Disco/SearchSByAByPostcode?LevelTypeId=14&amp;amp;Postcode=EC2Y8BP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'trebuchet ms';"&gt;&lt;span class="Apple-style-span" style="font-family: 'Times New Roman'; "&gt;&lt;blockquote&gt;&lt;ns0:leveltypeid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;Returns:  (Level Type) 13&lt;/span&gt;&lt;/span&gt;&lt;/ns0:leveltypeid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (Hierarchy) &lt;/span&gt;&lt;/span&gt;&lt;ns0:hierarchyid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;2&lt;/span&gt;&lt;/span&gt;&lt;/ns0:hierarchyid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (AreaId) &lt;/span&gt;&lt;/span&gt;&lt;ns0:areaid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;276743&lt;/span&gt;&lt;/span&gt;&lt;/ns0:areaid&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; (Local Authority) &lt;/span&gt;&lt;/span&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;City of London&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space:pre"&gt;  &lt;/span&gt;(Level Type) 14 (Hierarchy) 17 (AreaId) 6094725 (Ward) Aldersgate&lt;/span&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;I am able to run the response through ds.ReadXml ... &lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="color:#663366;"&gt; ds.ReadXml("http://neighbourhood.statistics.gov.uk/NDE2/Disco/SearchSByAByPostcode?LevelTypeId=14&amp;amp;Postcode=EC2Y8BP");&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;More than one table is created... Only one table has data and it is called Area... The number of rows depends on the LevelTypeId and LevelTypeId can be used as a row index to find the required data.  (I discovered that Scottish Wards can't be found this way, only the Scottish Unitary Authorities (using LevelTypeId=13)... for that one needs to approach the equivalent &lt;a href="http://www.sns.gov.uk/"&gt;Scottish Neighbourhood Statistics&lt;/a&gt;.  That will have to be done at another stage.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;Put that on a loop and now I have populated my contact database with the relevant Wards and Local Authorities... &lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;There's plenty more to play with at the NeSS Data Exchange...   &lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;ns0:name&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/ns0:name&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;I'll follow this post with some useful links to postcode searches and Elections and government services etc...&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-6985084820548453019?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/6985084820548453019/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/uk-government-ons-ness-data-exchange.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6985084820548453019'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/6985084820548453019'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/uk-government-ons-ness-data-exchange.html' title='UK Government ONS: NeSS Data Exchange (NDE)'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5052131135753088656.post-2881095884351493069</id><published>2010-03-02T10:20:00.009Z</published><updated>2010-03-20T12:18:39.706Z</updated><category scheme='http://www.blogger.com/atom/ns#' term='SearchByPostcode'/><category scheme='http://www.blogger.com/atom/ns#' term='UK'/><category scheme='http://www.blogger.com/atom/ns#' term='C#.NET'/><category scheme='http://www.blogger.com/atom/ns#' term='Constituencies'/><category scheme='http://www.blogger.com/atom/ns#' term='National Statistics'/><title type='text'>Find by Postcode C#.NET: UK Parliamentary Constituencies</title><content type='html'>Task 1: Update a contact database and find the UK Parliamentary Constituencies (for the 2010 General Election) within which each contact's postcode falls.&lt;br /&gt;&lt;br /&gt;This had been achieved before with a button on the form that opened a web page with the postcode in the URL... the user was expected to look for the information and then close the browser window and select the item from the list.&lt;br /&gt;&lt;br /&gt;After some searching I found that the best API was from:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.theyworkforyou.com/api/"&gt;http://www.theyworkforyou.com/api/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;You can register for an API Key from that address.  This gives you access to a number of functions:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;getConstituency&lt;/span&gt;: Searches for a Constituency by Postcode (current or future 2010)&lt;div&gt;&lt;b&gt;getConsituencies&lt;/b&gt;: Returns a list of Constituencies&lt;br /&gt;&lt;b&gt;getPerson&lt;/b&gt;: Returns main details for a Person&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMP&lt;/b&gt;:  Returns details for an MP&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMPInfo&lt;/b&gt;: Returns extra info on a person&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMPsInfo&lt;/b&gt;: Returns extra info on one or more people&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMPs&lt;/b&gt;: Returns a list of MPs (by postcode or constituency)&lt;/div&gt;&lt;div&gt;&lt;b&gt;getLord&lt;/b&gt;:  Returns main details for a Lord&lt;/div&gt;&lt;div&gt;&lt;b&gt;getLords&lt;/b&gt;:  Returns a list of Lords&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMLA&lt;/b&gt;: Returns main details for an MLA (Member of the Legislative Assembly (N Eire))&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMLAs&lt;/b&gt;: Returns a list of MLAs&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMSP&lt;/b&gt;: Returns main details for an MSP (Member of the Scottish Parliament)&lt;/div&gt;&lt;div&gt;&lt;b&gt;getMSPs&lt;/b&gt;: Returns list of MSPs&lt;/div&gt;&lt;div&gt;&lt;b&gt;getGeometry&lt;/b&gt;: Returns centre and bounding box of constituencies&lt;/div&gt;&lt;div&gt;&lt;b&gt;getCommittee&lt;/b&gt;: Returns members of Select Committee&lt;/div&gt;&lt;div&gt;&lt;b&gt;getDebates&lt;/b&gt;: Returns Debates (Commons, Westminster, Lords)&lt;/div&gt;&lt;div&gt;&lt;b&gt;getWrans&lt;/b&gt;: Returns Written Answers&lt;/div&gt;&lt;div&gt;&lt;b&gt;getWMS&lt;/b&gt;: Returns Written Ministerial Statements&lt;/div&gt;&lt;div&gt;&lt;b&gt;getHansard&lt;/b&gt;: Returns any of the above&lt;/div&gt;&lt;div&gt;&lt;b&gt;getComments&lt;/b&gt;: Returns comments&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Here we need &lt;b&gt;getConstituency&lt;/b&gt; only...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So I build a simple C#.NET program... add a datagrid... and show my data... to which i've added a new field to take the new constituency name.  The following link is to the function's description page.  The code is quick and dirty...  GTD coding... a single pass, get what it can, and then it's done... you could put a Try..Catch around the ReadXML code... no errors occurred at all... so once the data's downloaded, on to the next phase.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.theyworkforyou.com/api/docs/getConstituency"&gt;http://www.theyworkforyou.com/api/docs/getConstituency&lt;/a&gt;&lt;/div&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;private&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; goButton_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!(&lt;span class="kwrd"&gt;this&lt;/span&gt;.contactsDGView.CurrentRow == &lt;span class="kwrd"&gt;null&lt;/span&gt;))&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;string&lt;/span&gt; postcode =&lt;br /&gt;              &lt;span class="kwrd"&gt;this&lt;/span&gt;.contactsDGView.CurrentRow.Cells[&lt;span class="str"&gt;"Postcode"&lt;/span&gt;].Value.ToString();&lt;br /&gt;        postcode = postcode.Trim().Replace(&lt;span class="str"&gt;" "&lt;/span&gt;, &lt;span class="str"&gt;"+"&lt;/span&gt;);&lt;br /&gt;        DataSet ds = &lt;span class="kwrd"&gt;new&lt;/span&gt; DataSet();&lt;br /&gt;        ds.ReadXml(&lt;span class="str"&gt;"http://www.theyworkforyou.com/api/getConstituency?"&lt;/span&gt; +&lt;br /&gt;              &lt;span class="str"&gt;"key=&amp;lt;INSERT-API-KEY-HERE&amp;gt;&amp;amp;postcode="&lt;/span&gt; + postcode +&lt;br /&gt;              &lt;span class="str"&gt;"&amp;amp;future=1&amp;amp;output=xml"&lt;/span&gt;);&lt;br /&gt;        &lt;span class="kwrd"&gt;if&lt;/span&gt; (ds.Tables[0].Columns.Contains(&lt;span class="str"&gt;"error"&lt;/span&gt;)) { &lt;span class="kwrd"&gt;return&lt;/span&gt;; }&lt;br /&gt;        &lt;span class="kwrd"&gt;else&lt;/span&gt;&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="kwrd"&gt;this&lt;/span&gt;.contactsDGView.CurrentRow.Cells[&lt;span class="str"&gt;"PConstituency"&lt;/span&gt;].Value =&lt;br /&gt;                  ds.Tables[0].Rows[0][&lt;span class="str"&gt;"name"&lt;/span&gt;].ToString();&lt;br /&gt;        }&lt;br /&gt;              &lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[The update of the table in the DataGrid is done elsewhere.]&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;It took a few minutes to fill in all the constituencies... of course not all postcodes were valid... so they took a while to fix... &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;TheyWorkForYou.com have a fair-use policy... and the usage has to be declared when applying for an API...  I have just discovered the UK eGov site for Office of National Statistics has a free data exchange program and I might be able to get this data from there instead...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;I will have to go there for Wards and Councils...&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5052131135753088656-2881095884351493069?l=oliverslay.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://oliverslay.blogspot.com/feeds/2881095884351493069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://oliverslay.blogspot.com/2010/03/find-by-postcode-uk-parliamentary.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2881095884351493069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/5052131135753088656/posts/default/2881095884351493069'/><link rel='alternate' type='text/html' href='http://oliverslay.blogspot.com/2010/03/find-by-postcode-uk-parliamentary.html' title='Find by Postcode C#.NET: UK Parliamentary Constituencies'/><author><name>Oliver Slay i Texidor</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
