tag:blogger.com,1999:blog-44890453014206405662024-03-16T12:09:15.204+11:00Short Fast CodeJust the code thanks ma'amLeeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.comBlogger76125tag:blogger.com,1999:blog-4489045301420640566.post-58625717010080255672018-12-10T16:51:00.000+11:002018-12-10T16:51:38.766+11:00Delete a file and its history from TFS<br />
What if you need to delete a file and all its history from tfs for some reason. Maybe someone checked in a password or api key?<br />
<br />
<b>tf destroy /startcleanup "$/<file path="">" /collection:http://<tfsserver>:8080/tfs/DefaultCollection</tfsserver></file></b><br />
<br />
This also works for folders depending on how specific the filepath is. You can add /preview to see what files will be destroyed.<br />
<br />
More Info at: <a href="https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/destroy-command-team-foundation-version-control?view=vsts">https://docs.microsoft.com/en-us/azure/devops/repos/tfvc/destroy-command-team-foundation-version-control?view=vsts</a>Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-19643391097989732552018-07-13T18:29:00.000+10:002018-07-13T18:29:59.861+10:00notepad++ regex replace<br />
<b>Problem</b>: I have a file with many variable length lines with a decimal number on the end (i.e. a transaction statement that was not formatted very well) and I needed to extract just the decimal value on the end.<br />
<br />
<b>Solution</b>: I used the regular expression replace feature in <a href="https://notepad-plus-plus.org/">Notepad++</a>. The regular expression is some like "for each line match the decimal number at the end). The magic part is on the Replace with field I needed \1 to replace each line with just the matched section. I could probably have expanded on this to retain all the values and put tab separators in so it could copy and paste it into excel!<br />
<div>
<br /></div>
<div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTeYXohaXPjJ5romfdfhfQ5kYgMcBQeEUe4mbValnLUwZN5IM2kIygEcfqM7hAB6egnMxqrGn-q0LcuI6WvB-VEmwDMIbGpN8Jot8bAjkx18Glc8ixFe7DZcKB54-UdJjkbT9djbMmY_5r/s1600/notepad%252B%252B+regex+replace.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="356" data-original-width="573" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhTeYXohaXPjJ5romfdfhfQ5kYgMcBQeEUe4mbValnLUwZN5IM2kIygEcfqM7hAB6egnMxqrGn-q0LcuI6WvB-VEmwDMIbGpN8Jot8bAjkx18Glc8ixFe7DZcKB54-UdJjkbT9djbMmY_5r/s1600/notepad%252B%252B+regex+replace.png" /></a></div>
<br /></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-70991456492576077822018-01-03T11:47:00.000+11:002018-01-03T11:52:12.042+11:00Import IIS logs into SQL Server table<div class="MsoNormal">
There are lots of IIS log parsers out there, but I found a
simple SQL script that will load them into your own SQL Server table for you to
query how you like.<o:p></o:p></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: blue; font-family: "consolas"; font-size: 9.5pt;">CREATE</span><span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: blue;">TABLE</span> dbo<span style="color: grey;">.</span>IISLOG<span style="color: blue;"> </span><span style="color: grey;">(</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [DATE]
[DATE] NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [TIME]
[TIME] NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [s-ip]
[VARCHAR] (48) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [cs-method]
[VARCHAR] (8) NULL, <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [cs-uri-stem] [VARCHAR] (255) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [cs-uri-query] [VARCHAR] (2048) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [s-port]
[VARCHAR] (5) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [s-username]
[VARCHAR] (128) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [c-ip] [VARCHAR]
(48) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [cs(User-Agent)] [VARCHAR] (1024) NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [cs(Referer)] [VARCHAR] (4096) NULL, <o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [sc-STATUS]
[BIGINT] NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [sc-substatus] [INT] NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [sc-win32-STATUS] [INT] NULL,<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> [time-taken]
[INT] NULL<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span style="font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: blue; font-family: "consolas"; font-size: 9.5pt;">BULK</span><span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: blue;">INSERT</span> dbo<span style="color: grey;">.</span>IISLOG<o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: blue; font-family: "consolas"; font-size: 9.5pt;">FROM</span><span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: red;">'c:\temp\u_ex171205.log'</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: blue; font-family: "consolas"; font-size: 9.5pt;">WITH </span><span style="color: grey; font-family: "consolas"; font-size: 9.5pt;">(</span><span style="font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: blue;">FIRSTROW</span> <span style="color: grey;">=</span> 5<span style="color: grey;">,</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: blue;">FIELDTERMINATOR</span> <span style="color: grey;">=</span> <span style="color: red;">' '</span><span style="color: grey;">,</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="font-family: "consolas"; font-size: 9.5pt;"> <span style="color: blue;">ROWTERMINATOR</span> <span style="color: grey;">=</span> <span style="color: red;">'\n'</span><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<span style="color: grey; font-family: "consolas"; font-size: 9.5pt;">)</span><span style="font-family: "consolas"; font-size: 9.5pt;"><o:p></o:p></span></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0cm; mso-layout-grid-align: none; text-autospace: none;">
<br /></div>
<span style="color: blue; font-family: "consolas"; font-size: 9.5pt; line-height: 115%;">SELECT</span><span style="font-family: "consolas"; font-size: 9.5pt; line-height: 115%;"> [cs-uri-stem], avg([time-taken])</span><br />
<div class="MsoNormal">
<span style="font-family: "consolas"; font-size: 9.5pt; line-height: 115%;">
<span style="color: blue;">FROM</span> dbo.IISLOG</span><br />
<span style="font-family: "consolas"; font-size: 9.5pt; line-height: 115%;"><span style="color: blue;">WHERE</span> <span style="font-size: 12.6667px;">[cs-uri-stem] like </span><span style="color: red; font-family: Consolas; font-size: 9.5pt; line-height: 115%; mso-ansi-language: EN-AU; mso-bidi-language: AR-SA; mso-fareast-font-family: Calibri; mso-fareast-language: EN-US; mso-fareast-theme-font: minor-latin;">'%.svc'</span><br />
<span style="color: blue;">GROUP BY</span> [cs-uri-stem]<br />
<span style="color: blue;">ORDER BY</span> avg([time-taken]) desc<o:p></o:p></span><br />
<span style="font-family: "consolas"; line-height: 115%;"><br /></span>
<span style="font-family: inherit; line-height: 115%;">This tip is based on this <a href="https://blogs.msdn.microsoft.com/sqlserverstorageengine/2017/02/10/import-and-analyze-iis-log-files-using-sql-server/">post</a>, but contains fixed field lengths and bulk import statement.</span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-5792917239738565242017-12-04T15:43:00.000+11:002017-12-04T15:43:35.852+11:00How to script SQL server database role permissions<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt;">SELECT</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: red;">'GRANT '</span> <span style="color: grey;">+</span> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>permissio<wbr></wbr>n_name <span style="color: grey;">+</span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">CASE</span> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>class_<wbr></wbr>desc<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">WHEN</span> <span style="color: red;">'SCHEMA'</span> <span style="color: blue;">THEN</span> <span style="color: red;">' ON '</span> <span style="color: grey;">+</span><span style="color: magenta;">schema_name</span><span style="color: grey;">(</span>major_id<span style="color: grey;">)<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">WHEN</span> <span style="color: red;">'OBJECT_OR_COLUMN'</span> <span style="color: blue;">THEN<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">CASE</span> <span style="color: blue;">WHEN</span> minor_id <span style="color: grey;">=</span> 0 <span style="color: blue;">THEN</span> <span style="color: red;">' ON '</span> <span style="color: grey;">+</span><span style="color: magenta;">object_name</span><span style="color: grey;">(</span>major_id<span style="color: grey;">)</span> <span style="color: blue;">COLLATE</span> Latin1_General_CI_AS_KS_WS<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">ELSE</span> <span style="color: red;">' ON '</span> <span style="color: grey;">+(</span><span style="color: blue;">SELECT</span> <span style="color: magenta;">object_name</span><span style="color: grey;">(</span><span style="color: magenta;">object_id</span><span style="color: grey;">)</span> <span style="color: grey;">+</span> <span style="color: red;">' ('</span><span style="color: grey;">+</span> name <span style="color: grey;">+</span> <span style="color: red;">')'<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">FROM</span> <span style="color: green;">sys</span><span style="color: grey;">.</span><span style="color: green;">columns</span><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">WHERE</span> <span style="color: magenta;">object_id</span> <span style="color: grey;">=</span> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>major_id<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: grey;">AND</span> column_id <span style="color: grey;">=</span> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>minor_id<span style="color: grey;">)</span> <span style="color: blue;">end<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">ELSE</span> <span style="color: red;">''</span><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: blue;">END</span> <span style="color: grey;">+</span><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: red;">' TO '</span> <span style="color: grey;">+</span> <span style="color: green;">database_principals</span><span style="color: grey;">.</span>name <span style="color: blue;">COLLATE</span> Latin1_General_CI_AS_KS_WS<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt;">FROM</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: green;">sys</span><span style="color: grey;">.</span><span style="color: green;">database_permissions<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: grey; font-family: "Courier New"; font-size: 10pt;">JOIN</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: green;">sys</span><span style="color: grey;">.</span><span style="color: green;">database_principals<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt;">ON</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>grantee_<wbr></wbr>principal_id <span style="color: grey;">=</span> <span style="color: green;">database_principals</span><span style="color: grey;">.</span>principal_<wbr></wbr>id<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: grey; font-family: "Courier New"; font-size: 10pt;">LEFT</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: grey;">JOIN</span> <span style="color: green;">sys</span><span style="color: grey;">.</span><span style="color: green;">objects</span> <span style="color: green;">--left because it is possible that it is a schema<u></u><u></u></span></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt;">ON</span><span style="font-family: "Courier New"; font-size: 10pt;"> <span style="color: green;">objects</span><span style="color: grey;">.</span><span style="color: magenta;">object_id</span> <span style="color: grey;">=</span> <span style="color: green;">database_permissions</span><span style="color: grey;">.</span>major_id<u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: arial, sans-serif; font-size: 12.8px;">
<span style="color: blue; font-family: "Courier New"; font-size: 10pt;">WHERE</span><span style="font-family: "Courier New"; font-size: 10pt;"> permission_name <span style="color: grey;">in</span><span style="color: blue;"> </span><span style="color: grey;">(</span><span style="color: red;">'SELECT'</span><span style="color: grey;">,</span><span style="color: red;">'INSERT'</span><span style="color: grey;">,</span><span style="color: red;">'UPDATE'</span><span style="color: grey;">,</span><span style="color: red;">'<wbr></wbr>DELETE'</span><span style="color: grey;">,</span><span style="color: red;">'EXECUTE'</span><span style="color: grey;">)</span> <span style="color: grey;">AND</span> <span style="color: green;">database_principals</span><span style="color: grey;">.</span>NAME <span style="color: grey;">=</span> <span style="color: red;">'<your role="">'</your></span></span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-4898505935830015332017-12-04T15:39:00.002+11:002017-12-04T16:24:19.184+11:00How can I see what certificates are installed on a Windows computer with PowerShell<div style="background: white; box-sizing: inherit; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-bottom: 18pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "helvetica" , sans-serif;">Using PowerShell to view certificates is easy. PowerShell has a provider that exposes the certificates store which is part of the pki and security modules, which are loaded automatically as long as you’re on version 3 or greater. You do not need to manually load the modules, they auto-load from PowerShell v3 and above.<u></u><u></u></span></div>
<div style="background: white; box-sizing: inherit; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-bottom: 18pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "helvetica" , sans-serif;">To view the certificates in the local users personal certificate store/local machine store I would use the following:</span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;"> </span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">#Change to the location of the personal certificates</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Set-Location</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Cert:\CurrentUser\My</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">#Change to the location of the local machine certificates</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Set-Location</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Cert:\LocalMachine\My</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<br /></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">#Get the installed certificates in that location</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background-color: white; color: #222222; font-family: "Times New Roman", serif; font-size: 12pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Get-ChildItem</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;">| Format-Table</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;">Subject, FriendlyName, Thumbprint</span><span style="color: #333333; font-family: "consolas"; font-size: 12pt;"> </span><span style="color: #333333; font-family: "courier new"; font-size: 10pt;">-AutoSize</span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-17237876686874660222017-12-04T15:31:00.003+11:002017-12-04T15:31:48.348+11:00Compare Branches with Beyond Compare<div class="MsoNormal">
After I do a big merge I always like to compare my source and target branches to review the differences. My tool of choice for this is Beyond Compare as its folder compare is extremely quick and it lets me easily exclude file types and folders that of no consequence and generate noise.</div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
This is a good starting point for the filters. It excludes your compiled code, test results, files with user settings which don't usually get checked in. </div>
<div class="MsoNormal">
Filter Expression: <b>-*.dll;-*.suo;-*.pdb;-*.user;-UpgradeLog.htm;-*.lnk;-*.vspscc;-*.vssscc;-bin\;-obj\;-.vs\;-TestResults\;-.git\</b></div>
<div class="MsoNormal">
<b><br /></b></div>
<div class="MsoNormal">
This is what it looks like in Beyond compare which is a bit easier to digest</div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIUS_z7eVV4WVHxAy8F5daXPCHIo_QtjucHsmU5PMsabZ7pGiQu0JPH34DCwezzdiT5VHoB7khWxG5SA-tfXvpLaeKP8RuzKYZYVF-xBnqRPflJVbOo6Q0GTUjLnSMCHdC8QmEMMgZa53-/s1600/compare+branches+config.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" data-original-height="542" data-original-width="533" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjIUS_z7eVV4WVHxAy8F5daXPCHIo_QtjucHsmU5PMsabZ7pGiQu0JPH34DCwezzdiT5VHoB7khWxG5SA-tfXvpLaeKP8RuzKYZYVF-xBnqRPflJVbOo6Q0GTUjLnSMCHdC8QmEMMgZa53-/s1600/compare+branches+config.png" /></a></div>
<div class="separator" style="clear: both; text-align: center;">
<br /></div>
<div class="separator" style="clear: both; text-align: left;">
You can also save this filter by clicking "Add To Presets" and it will be added to your file filter dropdown ready to go for next time!</div>
<div class="MsoNormal">
<o:p></o:p></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-9346647558349560362017-05-08T19:16:00.000+10:002017-05-08T19:16:26.127+10:00Convert object to csharp object initialization codeBelow is a class that will convert any object into c# code that would statically initialize that object. <br />
<br />
Why is this cool? - Suppose you need to write unit tests for a web service with quite complex structures (I'm looking at you swift/iso22000). Manually coding data into tests could take quite a while but if you already have some examples from logged requests or sample XML files you could use something like the below class to emit c# object initialization code and BAM your template code is written.<br />
<br />
<pre class="lang-cs prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">public</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">class</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">ObjectInitializationSerializer</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">private</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetCSharpString</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">object</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">bool</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{o.ToString().ToLower()}"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"\"{o}\""</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">int</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{o}"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">decimal</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{o}m"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">DateTime</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"DateTime.Parse(\"{o}\")"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Enum</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{o.GetType().FullName}.{o}"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">is</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">IEnumerable</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"new {GetClassName(o)} \r\n{{\r\n{GetItems((IEnumerable)o)}}}"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">CreateObject</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">).</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">ToString</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">();</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">private</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetItems</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">IEnumerable</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> items</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> items</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Cast</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;"><object></object></span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">().</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Aggregate</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Empty</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">,</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">current</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">,</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> item</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=></span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> current </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">+</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{GetCSharpString(item)},\r\n"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">private</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">StringBuilder</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">CreateObject</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">object</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> builder </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">new</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">StringBuilder</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">();</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
builder</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Append</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">$</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"new {GetClassName(o)} \r\n{{\r\n"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">foreach</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> property </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">in</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetType</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">().</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetProperties</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">())</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> value </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> property</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetValue</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">value </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">!=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">null</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
builder</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Append</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">$</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"{property.Name} = {GetCSharpString(value)},\r\n"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
builder</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Append</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"}"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> builder</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">private</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetClassName</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">object</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> type </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetType</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">();</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">if</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">type</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">IsGenericType</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> arg </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> type</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">GetGenericArguments</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">().</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">First</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">().</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Name</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> type</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Name</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Replace</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"`1"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">,</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"<{arg}>"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> type</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Name</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">public</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">static</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">string</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="typ" style="border: 0px; color: #2b91af; margin: 0px; padding: 0px;">Serialize</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">object</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> o</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">return</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> $</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">"var newObject = {CreateObject(o)};"</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">;</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">}</span></code></pre>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-44762304005820186812017-03-10T22:40:00.002+11:002017-03-10T22:41:40.970+11:00How to write confusing angular - Changing the default angular delimiter.I just spent a wasted hour trying to figure out why an angular app written by one of my employers contracts was behaving so strangely. Apparently in angular you can override the default {{}} delimiter like so:<br />
<br />
<pre class="default prettyprint prettyprinted" style="background-color: #eff0f1; border: 0px; color: #393318; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin-bottom: 1em; max-height: 600px; overflow: auto; padding: 5px; width: auto; word-wrap: normal;"><code style="border: 0px; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; margin: 0px; padding: 0px; white-space: inherit;"><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">var</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> myApp </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">=</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> angular</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">module</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">'myApp'</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">,</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">[],</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="kwd" style="border: 0px; color: #101094; margin: 0px; padding: 0px;">function</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">$interpolateProvider</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">)</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;"> </span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">{</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
$interpolateProvider</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">startSymbol</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">'[['</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
$interpolateProvider</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">.</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">endSymbol</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">(</span><span class="str" style="border: 0px; color: #7d2727; margin: 0px; padding: 0px;">']]'</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">);</span><span class="pln" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">
</span><span class="pun" style="border: 0px; color: #303336; margin: 0px; padding: 0px;">});</span></code></pre>
<span style="border-color: initial; border-image: initial; border-style: initial; padding: 1px 5px;">You would now define a template</span><code style="background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin: 0px; padding: 1px 5px; white-space: pre-wrap;"><span style="color: #242729; font-family: consolas, menlo, monaco, lucida console, liberation mono, dejavu sans mono, bitstream vera sans mono, courier new, monospace, sans-serif;"><span style="background-color: #eff0f1; border-color: initial; border-image: initial; border-style: initial; padding: 1px 5px; white-space: pre-wrap;">{{ var }}</span></span></code><span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><span style="background-color: white; font-size: 15px;"> </span></span>as<span style="background-color: white; color: #242729; font-family: "arial" , "helvetica neue" , "helvetica" , sans-serif; font-size: 15px;"><span style="background-color: white; font-size: 15px;"> </span></span><code style="background-color: #eff0f1; border: 0px; color: #242729; font-family: Consolas, Menlo, Monaco, "Lucida Console", "Liberation Mono", "DejaVu Sans Mono", "Bitstream Vera Sans Mono", "Courier New", monospace, sans-serif; font-size: 13px; margin: 0px; padding: 1px 5px; white-space: pre-wrap;">[[ var ]]</code><br />
<br />
Check the documentation on the $interpolate service here: <a href="http://docs.angularjs.org/api/ng.$interpolate">http://docs.angularjs.org/api/ng.$interpolate</a><br />
I really can't think of a reason why you would want to do this offhand - unless you are trying to be a troll Javascript hipster!<br />
<br />
Great trap for young players.Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-1156591617368442192017-03-10T22:29:00.002+11:002017-03-10T22:29:46.493+11:00WCFExtras XML comment doesn't work?<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;"><a href="https://wcfextrasplus.codeplex.com/">WCFExtra</a>'s is an awesome addition to any WCF project which enables you to include your code comments as documentation in the generated wsdl.</span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;"><br /></span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;">The documentation is pretty ordinary though. To make the XMLComments work first</span></span><span style="color: #222222; font-family: "Times New Roman", serif; font-size: 18px;"> we need to follow the instructions here: </span><a href="https://wcfextrasplus.codeplex.com/wikipage?title=XML%20Comments&referringTitle=Documentation" style="font-family: "Times New Roman", serif; font-size: 18px;">https://wcfextrasplus.codeplex.com/wikipage?title=XML%20Comments&referringTitle=Documentation</a></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;"><br /></span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;">Next, you need to enable XML document generation in your WCF project properties as follows: </span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
</div>
<ol>
<li>Right click on your project and select properties</li>
<li>Go to the build tab</li>
<li>Tick XML documentation file. Leave the generated filename as is.</li>
</ol>
<br />
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;">Repeat this process for any other references projects that are used in your service contract.</span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;"><br /></span></span><span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;">Now we should see wsdl:documentation tag appeared in our WSDL</span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;"><br /></span></span></div>
<div style="background: white; line-height: 16.8pt; margin-bottom: 0.0001pt; margin-left: 0cm; margin-right: 0cm;">
<span style="color: #222222; font-family: Times New Roman, serif;"><span style="font-size: 18px; font-weight: normal;">Grab WCFExtras on nuget: </span></span><span style="background-color: transparent; font-size: 18px;"><span style="color: #222222; font-family: Times New Roman, serif;"><a href="https://www.nuget.org/packages/WCFExtras/">https://www.nuget.org/packages/WCFExtras/</a></span></span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-58216537192796065992017-03-10T22:18:00.000+11:002017-03-10T22:19:21.376+11:00How to ignore non-trival differences in files with Beyond Compare<div style="background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; margin-bottom: 1em; padding: 0px;">
If you want to ignore something that can't be handled by a replacements because the to-state isn't easily defined such as mismatching page numbers you need to use a regular expression grammer to ignore certain strings.</div>
<div style="background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; margin-bottom: 1em; padding: 0px;">
In my case I needed to ignore Page numbers in a document footer</div>
<div style="background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; margin-bottom: 1em; padding: 0px;">
Here is how to do it:</div>
<ol style="background-color: white; border: 0px; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; margin: 0px 0px 1em 30px; padding: 0px;">
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Load your comparison in Beyond Compare</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Click the <b>Rules </b>toolbar button (referee icon).</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">On the <b>Importance </b>tab, click <b>Edit Grammar</b>.</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Click <b>New</b>.</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">In Text matching enter your regex e.g. "<b>Page\s\d{1,3}\sof\s\d{1,3}</b>"</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Tick <b>Regular Expression</b></li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Click <b>OK</b>.</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Click <b>OK</b>.</li>
<li style="border: 0px; margin: 0px 0px 0.5em; padding: 0px; word-wrap: break-word;">Un-check the element in the Grammar elements list to make it unimportant.</li>
<li style="border: 0px; margin: 0px; padding: 0px; word-wrap: break-word;">Click <b>OK</b></li>
</ol>
<div style="background-color: white; border: 0px; clear: both; color: #242729; font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; font-size: 15px; margin-bottom: 1em; padding: 0px;">
Your grammar should now be marked as unimportant (blue text)</div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-42902100157760717672014-03-04T22:09:00.000+11:002014-03-04T22:09:33.444+11:00How to open an excel document in new instance<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"><b>Question:</b> How do you force excel to open a document in a new instance</span></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;"><b>Answer:</b></span></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;">C:\Users\[*your user name*]\AppData\Roaming\<wbr></wbr>Microsoft\Windows\SendTo<u></u><u></u></span></div>
<div class="MsoNormal">
<br /></div>
<div class="MsoNormal">
<span style="font-family: Arial, Helvetica, sans-serif;">Create
a shortcut from the excel executable. For me (Office 2010) this is
located here C:\Program Files (x86)\Microsoft Office\Office14\EXCEL.EXE,
Call the shortcut “Excel”.<u></u><u></u></span></div>
<div class="MsoNormal">
<br /></div>
<div style="background-color: white; background-position: initial initial; background-repeat: initial initial; line-height: 15.75pt; margin-bottom: 12pt; margin-left: 0cm; margin-right: 0cm; vertical-align: baseline;">
<span style="font-family: Arial, Helvetica, sans-serif;">Now you can open the Excel-files by right clicking on your document > send to > Excel</span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRhAyIubQU7yq6TFGAIK5Orzavptfn1El9VFCXiGg7WunJkXO-hP2Y-7p2zlaH1toHs-1I9VESE2O_jcM2CZo5AsnmC9iU-j-ruIBIDyN9EdqnSf14gI8ayKHOvpfjeUqFmXi147pSRjoG/s1600/image002.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhRhAyIubQU7yq6TFGAIK5Orzavptfn1El9VFCXiGg7WunJkXO-hP2Y-7p2zlaH1toHs-1I9VESE2O_jcM2CZo5AsnmC9iU-j-ruIBIDyN9EdqnSf14gI8ayKHOvpfjeUqFmXi147pSRjoG/s1600/image002.png" /></a></div>
<div style="background-color: white; background-position: initial initial; background-repeat: initial initial; line-height: 15.75pt; margin-bottom: 12pt; margin-left: 0cm; margin-right: 0cm; vertical-align: baseline;">
<span style="font-family: Arial, Helvetica, sans-serif;"><br /></span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-79789509445104967512014-03-04T22:05:00.000+11:002014-03-04T22:05:35.967+11:00WCF .svc handler mapping not working in IIS<b>Problem:</b><br />
When trying to access a WCF .svc endpoint hosted by IIS I receive the following error "T<span class="typ">he</span><span class="pln"> resource you are looking </span><span class="kwd">for</span><span class="pln"> does </span><span class="kwd">not</span><span class="pln"> have a handler associated </span><span class="kwd">with</span><span class="pln"> it</span><span class="pun">."</span><br />
<br />
<b>Solution:</b><br />
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">1.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Run </span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">Server Manager</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;"> (on task bar and start menu)<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">2.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Choose the server to administer (probably local server)<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">3.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Scroll down to "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">Roles and Features</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">" section.<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">4.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Choose "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">Add Role or Feature</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">" from Tasks drop down<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">5.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">On "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">Add Role or Feature Wizard</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">" dialog, click down to "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">Features</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">" in list of pages on the left.<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">6.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Expand </span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">".Net 3.5"</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;"> or </span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">".Net 4.5"</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">, depending on what you have installed. (you can go back up to "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">roles</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">" screen to add if you don't have.<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">7.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Under "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">WCF Services</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">", check the box for "</span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">HTTP-Activation</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">". You can also add non-http types if you know you need them (tcp, named pipes, etc).<u></u><u></u></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">8.<span style="font-family: 'Times New Roman'; font-size: 7pt; line-height: normal;"> </span></span><u></u><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;">Click </span><span style="background: #eeeeee; border: none windowtext 1.0pt; font-family: Consolas; font-size: 10.5pt; padding: 0cm;">"Install"</span><span style="font-family: "Arial","sans-serif"; font-size: 10.5pt;"> Button.</span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<span style="font-family: Arial, sans-serif; font-size: 10.5pt; line-height: 13.5pt;"><br /></span></div>
<div class="MsoNormal" style="line-height: 13.5pt; margin-left: 22.5pt; vertical-align: baseline;">
<span style="font-family: Arial, sans-serif; font-size: 10.5pt; line-height: 13.5pt;">Works on Windows Server 2008-2012</span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-78674844075245956652014-03-04T21:59:00.000+11:002014-03-04T21:59:20.962+11:00How do I add an active directory security group to a sql server sysadminrole<div class="MsoNormal">
<span style="font-family: 'Courier New';"><b>Question:</b> </span><span style="font-family: Courier New;">How do I add an active directory security group to a sql server role such as sysadmin role</span></div>
<div class="MsoNormal">
<span style="font-family: Courier New;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: Courier New;"><b>Answer:</b></span></div>
<div class="MsoNormal">
<span style="color: blue; font-family: "Courier New"; font-size: 10.0pt;">EXEC</span><span style="font-family: "Courier New"; font-size: 10.0pt;">
<span style="color: blue;">master</span><span style="color: grey;">..</span><span style="color: maroon;">sp_addsrvrolemember</span><span style="color: blue;">
</span>@loginame <span style="color: grey;">=</span> <span style="color: red;">N'<domain>\<group name="">'</group></domain></span><span style="color: grey;">,</span> @rolename
<span style="color: grey;">=</span> <span style="color: red;">N'sysadmin'<u></u><u></u></span></span></div>
<div class="MsoNormal">
<span style="color: blue; font-family: "Courier New"; font-size: 10.0pt;">GO</span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-65733531892648499232014-03-04T21:55:00.000+11:002014-03-04T21:55:10.272+11:00How do I check the Oracle version using SQL<div class="MsoNormal" style="background: white;">
<b><span lang="EN" style="font-family: Arial, sans-serif;">Question:</span></b><span lang="EN" style="font-family: Arial, sans-serif;"> How do I check the Oracle version using SQL?<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: Arial, sans-serif;"><br /></span></div>
<div class="MsoNormal" style="background: white;">
<b><span lang="EN" style="font-family: "Arial","sans-serif";">Answer:</span></b><span lang="EN" style="font-family: Arial, sans-serif;">
Version information is stored in a table called v$version. In this
table you can find version information on Oracle, PL/SQL, etc.<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: Arial, sans-serif;">To retrieve the version information for Oracle, you execute the following SQL statement:<span style="font-size: x-small;"><u></u><u></u></span></span></div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: Arial, sans-serif;"><br /></span></div>
<div style="background: #f2f1ff; border: solid #999999 1.0pt; margin-left: 22.5pt; margin-right: 0cm; padding: 0cm 0cm 0cm 0cm;">
<div class="MsoNormal" style="background-position: initial initial; background-repeat: initial initial; border: none; padding: 0cm;">
<span lang="EN" style="font-family: Consolas; font-size: 10.0pt;">select * from v$version<u></u><u></u></span></div>
<div class="MsoNormal" style="background-position: initial initial; background-repeat: initial initial; border: none; padding: 0cm;">
<span lang="EN" style="font-family: Consolas; font-size: 10.0pt;">where banner like 'Oracle%';<u></u><u></u></span></div>
</div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><br /></span></div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: Arial, sans-serif;">It should return something like this:<span style="font-size: x-small;"><u></u><u></u></span></span></div>
<div class="MsoNormal" style="background: white;">
<span lang="EN" style="font-family: "Arial","sans-serif"; font-size: 10.0pt;"><br /></span></div>
<div class="MsoNormal" style="background: white; margin-left: 22.5pt;">
<b><span lang="EN" style="color: #2e5348; font-family: Consolas; font-size: 10.0pt;">Banner<u></u><u></u></span></b></div>
<div class="MsoNormal" style="background: white; margin-left: 22.5pt;">
<b><span lang="EN" style="color: #2e5348; font-family: Consolas; font-size: 10.0pt;">------------------------------<wbr></wbr>------------------------------<wbr></wbr>--------------------------<u></u><u></u></span></b></div>
<div class="MsoNormal" style="background: white; margin-left: 22.5pt;">
<b><span lang="EN" style="color: #2e5348; font-family: Consolas; font-size: 10.0pt;">Oracle9i Enterprise Edition Release 9.2.0.1.0 - 64bit Production</span></b></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-92206359795586899362014-03-04T21:52:00.001+11:002014-03-04T21:52:44.317+11:00How To Solve "Saving Changes Is Not Permitted" On SQL Server 2008 Management Studio <div class="MsoNormal" style="background: white;">
<span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;"><b>Problem: </b>Saving changes is not permitted when doing </span><code><span style="border: none windowtext 1.0pt; color: #990000; font-family: Consolas; font-size: 10.0pt; padding: 0cm;">alter table</span></code><span style="border: none windowtext 1.0pt; color: #990000; font-family: Consolas; padding: 0cm;"> </span><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">(table structure is changed):<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">1.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Change data type on existing columns<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">2.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Or change allow </span><code><span style="border: none windowtext 1.0pt; color: #990000; font-family: Consolas; font-size: 10.0pt; padding: 0cm;">null</span></code><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">s on existing columns<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white;">
<span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;"><br /><b>Solution:</b> To allow you to save changes after you </span><code><span style="border: none windowtext 1.0pt; color: #990000; font-family: Consolas; font-size: 10.0pt; padding: 0cm;">alter table</span></code><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;"> disable the prevent changes setting:<br /> <u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">1.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Open Microsoft SQL Server Management Studio 2008<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">2.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Click Tools menu options, then click <em><span style="border: 1pt none windowtext; padding: 0cm;">Options</span></em> <u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">3.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Select <em><span style="border: 1pt none windowtext; padding: 0cm;">Designers</span></em> <u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">4.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Uncheck <em><span style="border: 1pt none windowtext; padding: 0cm;">"prevent saving changes that require table re-creation"</span></em> option<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">5.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Click OK<u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">6.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Try to alter your </span><code><span style="border: none windowtext 1.0pt; color: #990000; font-family: Consolas; font-size: 10.0pt; padding: 0cm;">table</span></code><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;"><u></u><u></u></span></div>
<div class="MsoNormal" style="background: white; margin-left: 0cm;">
<u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">7.<span style="font-family: 'Times New Roman'; font-size: 7pt;"> </span></span><u></u><span style="color: #111111; font-family: "Segoe UI","sans-serif"; font-size: 10.5pt;">Your changes will performed as desired </span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-59643001552394805842014-03-04T21:47:00.000+11:002014-03-04T21:47:49.859+11:00Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server<div class="MsoNormal">
<span style="font-family: Courier New;"><b>Problem</b>: I receive this error.</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 10.0pt;">Msg 7302<span style="color: grey;">,</span> <span style="color: blue;">Level</span> 16<span style="color: grey;">,</span> <span style="color: blue;">State</span> 1<span style="color: grey;">,</span> Line 1<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 10.0pt;">Cannot create an instance of OLE DB provider "OraOLEDB.Oracle" for linked server "xxxx.WORLD".</span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 10.0pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New"; font-size: 10.0pt;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New";"><b>Solution</b>: </span></div>
<div class="MsoNormal">
<span style="font-family: "Courier New";">Go to the the </span><span style="font-family: 'Courier New';">OraOLEDB.Oracle </span><span style="font-family: 'Courier New';">provider options and tick "Allow inprocess"</span></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt;"><br /></span></div>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0-xuq0kk6ZJ7SQtjZ_X213VArttDKmAagUVcPJ6GMl5gqbh6EfZTpvqpcE6k29D-gK5M1HXrAB6Q7BCOw-zotE_KU_asELnwM9ymMHHKsdUjFfE6gXpGfNxkt62SuK7Z9D1sMdG5CVAhQ/s1600/image003.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg0-xuq0kk6ZJ7SQtjZ_X213VArttDKmAagUVcPJ6GMl5gqbh6EfZTpvqpcE6k29D-gK5M1HXrAB6Q7BCOw-zotE_KU_asELnwM9ymMHHKsdUjFfE6gXpGfNxkt62SuK7Z9D1sMdG5CVAhQ/s1600/image003.png" height="148" width="640" /></a></div>
<div class="MsoNormal">
<span style="font-family: 'Courier New'; font-size: 10pt;"><br /></span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-41781969906884423782013-09-14T12:53:00.000+10:002013-09-14T12:53:20.252+10:00How to open firewall ports for SQL Server V2This is an updated version of the original script posted here (<a href="http://www.blogger.com/blogger.g?blogID=4489045301420640566#allposts">http://shortfastcode.blogspot.com/2012/07/how-to-open-firewall-ports-for-sql.html</a>) updated for Windows Server 2012.<br />
<blockquote class="tr_bq">
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="Open Port 80" dir=in action=allow protocol=TCP localport=80</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo ========= SQL Server Ports ===================</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling SQLServer default instance port 1433</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Server" dir=in action=allow protocol=TCP localport=1433</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling Dedicated Admin Connection port 1434</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Admin Connection" dir=in action=allow protocol=TCP localport=1434</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling Conventional SQL Server Service Broker port 4022</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Service Broker" dir=in action=allow protocol=TCP localport=4022</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling Transact SQL/RPC port 135</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Debugger/RPC" dir=in action=allow protocol=TCP localport=135</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b><br /></b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo ========= Analysis Services Ports ==============</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling SSAS Default Instance port 2383</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="Analysis Services" dir=in action=allow protocol=TCP localport=2383</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling SQL Server Browser Service port 2382</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Browser" dir=in action=allow protocol=TCP localport=2382</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b> </b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo ========= Misc Applications ==============</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling HTTP port 80</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="HTTP" dir=in action=allow protocol=TCP localport=80</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling SSL port 443</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SSL" dir=in action=allow protocol=TCP localport=443</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Enabling port for SQL Server Browser Service's 'Browse' Button</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh advfirewall firewall add rule name="SQL Browser" dir=in action=allow protocol=UDP localport=1434</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)</b></span></blockquote>
<blockquote class="tr_bq">
<span style="color: #333333; font-family: Consolas;"><b>netsh firewall set multicastbroadcastresponse ENABLE</b></span></blockquote>
</blockquote>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-70227292520697146342013-09-14T12:30:00.000+10:002013-09-14T12:41:25.341+10:00The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.<div class="MsoNormal">
<span style="font-family: inherit;">I was trying to use Simego.SQLImport.exe on 64bit windows 7 and I got this error.</span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">SQL Import Studio<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">The 'Microsoft.Jet.OLEDB.4.0' provider is not registered on the local machine.<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------<u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">OK <u></u><u></u></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">---------------------------</span></div>
<div class="MsoNormal" style="background: white; vertical-align: top;">
<br /></div>
<div class="MsoNormal" style="background: white; vertical-align: top;">
<span style="color: #333333; font-family: inherit;">This is because if your application runs in 64-bit mode, all of the components it uses must also be 64-bit. There is no 64-bit Jet OLE DB Provider, so you get the message described. You would receive a similar error when trying to connect to a database using OLE DB or ODBC if there is no 64-bit version of the specified OLE DB provider or ODBC driver.</span><br />
<span style="color: #333333; font-family: inherit;"><br /></span>
<span style="color: #333333; font-family: inherit;">This problem only occurs in applications that run in 64-bit mode. Compiling the application so it runs only in 32-bit mode is the best current solution.</span><br />
<span style="color: #333333; font-family: inherit;"><br /></span>
<span style="color: #333333; font-family: inherit;">In this case the easiest was to fix this was to use corflags to force it to run in 32bit</span><br />
<span style="color: #333333; font-family: inherit;"><br /></span>
<span style="color: #333333; font-family: inherit;">corflags /32bitreg+ /force Simego.SQLImport.exe</span></div>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-15223153932154950072013-04-13T22:28:00.000+10:002013-04-13T22:29:35.725+10:00Problem Steps Recorder Command Line ArgumentsProblem Steps Recorder is a cool tool in Windows 7+ and Windows Server 2008 that can record a users actions as a series of images. See this <a href="http://technet.microsoft.com/en-us/windows/problem-steps-recorder-overview.aspx">technet article</a> for more information about the tool. Here is the list of command line arguments you can use to automate the tool.<br />
<pre class="csharpcode"></pre>
<pre class="csharpcode">psr.exe [/start |/stop][/output <fullfilepath>] [/sc (0|1)] [/maxsc <value>]
[/sketch (0|1)] [/slides (0|1)] [/gui (o|1)]
[/arcetl (0|1)] [/arcxml (0|1)] [/arcmht (0|1)]
[/stopevent <eventname>] [/maxlogsize <value>] [/recordpid <pid>]
/start :Start Recording. (Outputpath flag SHOULD be specified)
/stop :Stop Recording.
/sc :Capture screenshots <span class="kwrd">for</span> recorded steps.
/maxsc :Maximum number of recent screen captures.
/maxlogsize :Maximum log file size (<span class="kwrd">in</span> MB) before wrapping occurs.
/gui :Display control GUI.
/arcetl :Include raw ETW file <span class="kwrd">in</span> archive output.
/arcxml :Include MHT file <span class="kwrd">in</span> archive output.
/recordpid :Record all actions associated with given PID.
/sketch :Sketch UI <span class="kwrd">if</span> no screenshot was saved.
/slides :Create slide show HTML pages.
/output :Store output of record session <span class="kwrd">in</span> given path.
/stopevent :Event to signal after output files are generated.
PSR Usage Examples:
psr.exe
psr.exe /start /output fullfilepath.zip /sc1 /gui 0 /record <pid>
/stopevent <eventname> /arcetl 1
psr.exe /start /output fullfilepath.xml /gui 0 /recordpid <pid>
/stopevent <eventname>
psr.exe /start /output fullfilepath.xml /gui 0 /sc 1 /maxsc <number>
/maxlogsize <value> /stopevent <eventname>
psr.exe /stop
Notes:
1. Output path should include a directory path (e.g. '.\file.xml').
2. Output file can either be a ZIP file or XML file
3. Can't specify /arcxml /arcetl /arcmht /sc etc. <span class="kwrd">if</span> output is not a ZIP file.</eventname></value></number></eventname></pid></eventname></pid></pid></value></eventname></value></fullfilepath></pre>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-82417381903456411302013-04-13T22:18:00.002+10:002013-04-13T22:19:17.908+10:00Add a user to Administrator group remotelyA handy way to add a user as an administrator to a PC/Server remotely using Sysinternal PSExec Tool. You can download the suite of products here:<br />
http://technet.microsoft.com/en-us/sysinternals/bb842062<br />
<br />
Once the tools are downloaded, find the psexec executable and run the following:<br />
<br />
In this scenario, we are adding user "agorilla" to the local Administrator's Group on a server named svrapp01.<br />
<br />
Then, from the cmd prompt, enter the below command and hit enter:<br />
<b>c:\Sysinternals>psexec \\svrapp01 cmd</b><br />
<br />
The return will be something like this:<br />
<br />
PsExec v1.97 - Execute processes remotely<br />
Copyright (C) 2001-2009 Mark Russinovich<br />
Sysinternals - www.sysinternals.com<br />
<br />
Microsoft Windows [Version 6.1.7600]<br />
Copyright (c) 2009 Microsoft Corporation. All rights reserved.<br />
<br />
This opens a remote cmd shell on that server at "C:\Windows\System32.<br />
Next, enter this:<br />
<br />
<b>c:\Windows\system32>net localgroup administrators domain\agorilla /add</b><br />
<br />
The return is:<br />
The command completed successfully<br />
<br />
Then close the connection:<br />
c:\Windows\system32>exit<br />
<br />
The return is:<br />
cmd exited on svrapp01 with error code 0Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-27175866560998375782013-01-04T21:50:00.000+11:002013-01-04T21:54:25.750+11:00SQL Server write to EventLog<span style="font-family: inherit;">Getting debug information from a complex stored procedure can sometimes be a challenge in sql server. Do you write to a log table or return the information as part of the query response? Why not use the event log?</span><br />
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">Turns out writing to the event log from within a stored procedure is really easy:</span></div>
<blockquote class="tr_bq">
<span style="font-family: "Courier New"; font-size: 10.0pt;"><span style="color: blue;">DECLARE</span> @@MESSAGE <span style="color: blue;">varchar</span><span style="color: grey;">(</span>255<span style="color: grey;">)<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><span style="color: blue;">set</span> @@MESSAGE <span style="color: grey;">=</span> <span style="color: red;">
'executing sub query XXX'</span></span><br />
<span style="color: blue; font-family: 'Courier New'; font-size: 10pt;">EXEC</span><span style="font-family: 'Courier New'; font-size: 10pt;"> </span><span style="color: maroon; font-family: 'Courier New'; font-size: 10pt;">xp_logevent</span><span style="font-family: 'Courier New'; font-size: 10pt;"> 60000</span><span style="color: grey; font-family: 'Courier New'; font-size: 10pt;">,</span><span style="font-family: 'Courier New'; font-size: 10pt;"> @@MESSAGE</span><span style="color: grey; font-family: 'Courier New'; font-size: 10pt;">,</span><span style="font-family: 'Courier New'; font-size: 10pt;"> informational</span></blockquote>
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-55995041642959266492013-01-04T21:42:00.000+11:002013-01-04T21:42:25.682+11:00Determine the file size of a database using t-sql<br />
<div class="MsoNormal">
</div>
<div class="MsoNormal">
Determine the file size of a database using t-sql</div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">In SQL Server there are a number of ways to determine how large a database is. Right clicking and selecting properties > files in management studio for example is probably the easiest. However if you do not have very high permissions on the database you are interested in this t-sql may be what you need. </span></div>
<div class="MsoNormal">
<span style="font-family: inherit;"><br /></span></div>
<div class="MsoNormal">
<span style="font-family: inherit;">This script requires the least permissions of all the different methods I could find and is fairly simple which is a bonus.</span></div>
<br />
<blockquote class="tr_bq">
<span style="color: blue; font-family: "Courier New"; font-size: 10.0pt;">select </span><span style="font-family: "Courier New"; font-size: 10.0pt;">a<span style="color: grey;">.</span>FILEID<span style="color: grey;">,<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"> [FILE_SIZE_MB]
<span style="color: grey;">= </span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><span style="color: magenta;">convert</span><span style="color: grey;">(</span><span style="color: blue;">decimal</span><span style="color: grey;">(</span>12<span style="color: grey;">,</span>2<span style="color: grey;">),</span><span style="color: magenta;">round</span><span style="color: grey;">(</span>a<span style="color: grey;">.</span><wbr></wbr>size<span style="color: grey;">/</span>128.000<span style="color: grey;">,</span>2<span style="color: grey;">)),<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"> [SPACE_USED_MB]
<span style="color: grey;">= </span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><span style="color: magenta;">convert</span><span style="color: grey;">(</span><span style="color: blue;">decimal</span><span style="color: grey;">(</span>12<span style="color: grey;">,</span>2<span style="color: grey;">),</span><span style="color: magenta;">round</span><span style="color: grey;">(</span><span style="color: magenta;">fileproperty</span><span style="color: grey;">(</span>a<span style="color: grey;">.</span>name<span style="color: grey;">,</span><span style="color: red;">'SpaceUsed'</span><span style="color: grey;">)<wbr></wbr>/</span>128.000<span style="color: grey;">,</span>2<span style="color: grey;">)),<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"> [FREE_SPACE_MB]
<span style="color: grey;">= </span></span><span style="font-family: "Courier New"; font-size: 10.0pt;"><span style="color: magenta;">convert</span><span style="color: grey;">(</span><span style="color: blue;">decimal</span><span style="color: grey;">(</span>12<span style="color: grey;">,</span>2<span style="color: grey;">),</span><span style="color: magenta;">round</span><span style="color: grey;">((</span>a<span style="color: grey;"><wbr></wbr>.</span>size<span style="color: grey;">-</span><span style="color: magenta;">fileproperty</span><span style="color: grey;">(</span>a<span style="color: grey;">.</span>name<span style="color: grey;">,</span><span style="color: red;">'<wbr></wbr>SpaceUsed'</span><span style="color: grey;">))/</span>128.000<span style="color: grey;">,</span>2<span style="color: grey;">))</span><span style="color: grey;">,<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;">
<span style="color: blue;">NAME</span> <span style="color: grey;">=</span> <span style="color: grey;">
left(</span>a<span style="color: grey;">.</span>NAME<span style="color: grey;">,</span>15<span style="color: grey;">),<br /><u></u><u></u></span></span><span style="font-family: "Courier New"; font-size: 10.0pt;">
<span style="color: blue;">FILENAME</span> <span style="color: grey;">=</span> <span style="color: grey;">
left(</span>a<span style="color: grey;">.</span>FILENAME<span style="color: grey;">,</span>30<span style="color: grey;">)<br /><u></u><u></u></span></span><span style="color: blue; font-family: "Courier New"; font-size: 10.0pt;">from </span><span style="font-family: "Courier New"; font-size: 10.0pt;">dbo<span style="color: grey;">.</span>sysfiles a</span></blockquote>
<br />
<span style="font-family: inherit;">Tested in SQL Server 2005+ </span><br />
Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-41693658904689287242013-01-04T21:24:00.000+11:002013-01-04T21:32:00.822+11:00Font made of dashes<br />
If you are looking for a way to make letters in ms word etc be made up of dots or dashes then you will need a to download a special font. A good example for why you may want this is to help kids learn to write letters by tracing.<br />
<br />
Here is one that I have as some success with. Its free and just works: <a href="http://desktoppub.about.com/od/lessonplans/ig/Free-Print---Cursive-Fonts/Print-Clearly-Dashed.htm">http://desktoppub.about.com/od/lessonplans/ig/Free-Print---Cursive-Fonts/Print-Clearly-Dashed.htm</a><br />
<br />
The good thing about a font rather than a ready made worksheet is that you can make it however you like for example you can make a page with the childs name on it etc.<br />
<br />
<div class="separator" style="clear: both; text-align: center;">
<a href="http://0.tqn.com/d/desktoppub/1/7/b/f/printclearlydashed.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"><img border="0" height="320" src="http://0.tqn.com/d/desktoppub/1/7/b/f/printclearlydashed.gif" width="246" /></a></div>
<br />Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-32660246729775933372012-07-28T19:10:00.001+10:002012-07-28T19:12:06.992+10:00How to open firewall ports for SQL Server<b style="background-color: white;">Slow Way:</b><span style="background-color: white;"> Real the Books Online article "The Configuring the Windows Firewall to Allow SQL Server Access" (</span><a href="http://msdn.microsoft.com/en-us/library/cc646023.aspx" style="background-color: white;">http://msdn.microsoft.com/en-us/library/cc646023.aspx</a><span style="background-color: white;">) which contains the information to how to open the required ports in Windows Firewall.</span><br />
<br />
<b>Fast Way:</b> Use this bat script taken from the KB Article "How to open the firewall port for SQL Server on Windows Server 2008" (<a href="http://support.microsoft.com/kb/968872">http://support.microsoft.com/kb/968872</a>)<br />
<blockquote class="tr_bq">
<b>@echo ========= SQL Server Ports ===================<br />@echo Enabling SQLServer default instance port 1433<br />netsh firewall set portopening TCP 1433 "SQLServer"<br />@echo Enabling Dedicated Admin Connection port 1434<br />netsh firewall set portopening TCP 1434 "SQL Admin Connection"<br />@echo Enabling conventional SQL Server Service Broker port 4022 <br />netsh firewall set portopening TCP 4022 "SQL Service Broker"<br />@echo Enabling Transact-SQL Debugger/RPC port 135<br />netsh firewall set portopening TCP 135 "SQL Debugger/RPC"<br />@echo ========= Analysis Services Ports ==============<br />@echo Enabling SSAS Default Instance port 2383<br />netsh firewall set portopening TCP 2383 "Analysis Services"<br />@echo Enabling SQL Server Browser Service port 2382<br />netsh firewall set portopening TCP 2382 "SQL Browser"<br />@echo ========= Misc Applications ==============<br />@echo Enabling HTTP port 80<br />netsh firewall set portopening TCP 80 "HTTP"<br />@echo Enabling SSL port 443<br />netsh firewall set portopening TCP 443 "SSL"<br />@echo Enabling port for SQL Server Browser Service's 'Browse' Button<br />netsh firewall set portopening UDP 1434 "SQL Browser"<br />@echo Allowing multicast broadcast response on UDP (Browser Service Enumerations OK)<br />netsh firewall set multicastbroadcastresponse ENABLE </b></blockquote>
<span style="background-color: white;">You can download the bat file from </span><span style="background-color: white;">here</span><span style="background-color: white;">: </span><a href="https://dl.dropbox.com/u/677104/shortfastcode/OpenSqlServerPort.bat" style="background-color: white;">https://dl.dropbox.com/u/677104/shortfastcode/OpenSqlServerPort.bat</a><br />
<br />
Works with Windows Server 2008, Windows Vista/7Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0tag:blogger.com,1999:blog-4489045301420640566.post-80677856133943766672012-07-22T11:01:00.001+10:002012-07-22T11:04:58.607+10:00Running a .bat file as administrator changes default directory<span style="background-color: white;">When you run a .bat file as administrator ("Run as Administrator") under Windows Vista and 7 the current directory gets set to C:\windows\system32. This can be confusing as this is not the same behaviour as when not running as administrator and can cause problems with your scripts if you use relative paths.</span><br />
<br />
To fix this problem, include these two lines at the top of your .bat file:<br />
<br />
<span class="Apple-tab-span" style="white-space: pre;"> </span><b>@SETLOCAL <span style="background-color: white;">ENABLEEXTENSIONS</span></b><br />
<b><span class="Apple-tab-span" style="white-space: pre;"> </span>@cd /d "%~dp0"</b><br />
<br />
<span style="background-color: white;">This will change the current directory to the location of the .bat file.</span><br />
<br />
How it works:<br />
<br />
<span style="background-color: white;"><b>1.</b> <i>@SETLOCAL </i></span><span style="background-color: white;"><i>ENABLEEXTENSIONS</i></span> - controls the visibility of environment variables and enables cmd extensions.<br />
<br />
For more information on SETLOCAL: <a href="http://ss64.com/nt/setlocal.html">http://ss64.com/nt/setlocal.html</a><br />
For more information on cmd extensions: <a href="http://ss64.com/nt/cmd.html">http://ss64.com/nt/cmd.html</a><br />
<br />
<b>2.</b> <i>%0</i> is the full path and file name of the batch file. <span style="background-color: white;"><i>%~dp0</i> Expands <i>%0</i> to a drive letter and path.</span><br />
<br />
For more information on batch parameters: <a href="http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true">http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/percent.mspx?mfr=true</a>Leeroy Jenkinshttp://www.blogger.com/profile/13664407905659655998noreply@blogger.com0