<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sdt.sumida.com.cn:8080/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Floating Heart - All Comments</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/default.aspx</link><description>No description is bad.</description><dc:language>en</dc:language><generator>CommunityServer 2007.1 (Build: 20917.1142)</generator><item><title>re: 一位软件工程师的6年总结</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/12/28/11473.aspx#11474</link><pubDate>Sun, 28 Dec 2008 01:43:38 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:11474</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;学历代表过去、能力代表现在、学习代表未来。&lt;/p&gt;
&lt;p&gt;....&lt;/p&gt;
&lt;p&gt;...“再也受不了啦！”.....&lt;/p&gt;
&lt;p&gt;haha...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=11474" width="1" height="1"&gt;</description></item><item><title>re: Visual Studio 2010 and .NET Framework 4.0 Training Kit</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/11/22/visual-studio-2010-and-net-framework-4-0-training-kit.aspx#11094</link><pubDate>Mon, 24 Nov 2008 06:20:35 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:11094</guid><dc:creator>slash</dc:creator><description>&lt;p&gt;这也太快了把...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=11094" width="1" height="1"&gt;</description></item><item><title>re: Simple Assembly Explorer and Simple Reminder Open Source</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/10/07/simple-assembly-explorer-and-simple-reminder-open-source.aspx#10607</link><pubDate>Wed, 08 Oct 2008 06:59:15 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10607</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;hehe..原来reminder可以用作email轰炸机.......&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10607" width="1" height="1"&gt;</description></item><item><title>re: Simple Assembly Explorer and Simple Reminder Open Source</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/10/07/simple-assembly-explorer-and-simple-reminder-open-source.aspx#10604</link><pubDate>Wed, 08 Oct 2008 01:18:31 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10604</guid><dc:creator>slash</dc:creator><description>&lt;p&gt;支持...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10604" width="1" height="1"&gt;</description></item><item><title>re: 爸爸的烦恼</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/09/16/10324.aspx#10424</link><pubDate>Wed, 24 Sep 2008 01:19:10 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10424</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;墨尔本的经济分析家。之前也看了一下他的QQblog。比较能明白的白话论经济。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10424" width="1" height="1"&gt;</description></item><item><title>re: Web Application Stress Tool</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/09/11/web-application-stress-tool.aspx#10274</link><pubDate>Thu, 11 Sep 2008 11:24:42 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10274</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://jakarta.apache.org/jmeter/"&gt;jakarta.apache.org/jmeter&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Apache JMeter features include: &lt;/p&gt;
&lt;p&gt;Can load and performance test many different server types: &lt;/p&gt;
&lt;p&gt;Web - HTTP, HTTPS &lt;/p&gt;
&lt;p&gt;SOAP &lt;/p&gt;
&lt;p&gt;Database via JDBC &lt;/p&gt;
&lt;p&gt;LDAP &lt;/p&gt;
&lt;p&gt;JMS &lt;/p&gt;
&lt;p&gt;Mail - POP3 &lt;/p&gt;
&lt;p&gt;Complete portability and 100% Java purity . &lt;/p&gt;
&lt;p&gt;Full Swing and lightweight component support (precompiled JAR uses packages javax.swing.* ). &lt;/p&gt;
&lt;p&gt;Full multithreading framework allows concurrent sampling by many threads and simultaneous sampling of different functions by seperate thread groups. &lt;/p&gt;
&lt;p&gt;Careful GUI design allows faster operation and more precise timings. &lt;/p&gt;
&lt;p&gt;Caching and offline analysis/replaying of test results. &lt;/p&gt;
&lt;p&gt;Highly Extensible: &lt;/p&gt;
&lt;p&gt;Pluggable Samplers allow unlimited testing capabilities. &lt;/p&gt;
&lt;p&gt;Several load statistics may be choosen with pluggable timers . &lt;/p&gt;
&lt;p&gt;Data analysis and visualization plugins allow great extendibility as well as personalization. &lt;/p&gt;
&lt;p&gt;Functions can be used to provide dynamic input to a test or provide data manipulation. &lt;/p&gt;
&lt;p&gt;Scriptable Samplers (BeanShell is fully supported; and there is a sampler which supports BSF-compatible languages) &lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10274" width="1" height="1"&gt;</description></item><item><title>re: 残奥会点火</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/09/08/10230.aspx#10238</link><pubDate>Tue, 09 Sep 2008 08:55:57 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10238</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;前段时间看了一些导盲犬的片子，这种犬被训练的很聪明，能把握住每个步阶的开始和结束，每个corner，还有红绿灯，做出很多提示。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10238" width="1" height="1"&gt;</description></item><item><title>re: 中国办公室的22条潜规则</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/09/06/10214.aspx#10237</link><pubDate>Tue, 09 Sep 2008 08:38:46 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10237</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;太高深莫测了，不懂。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10237" width="1" height="1"&gt;</description></item><item><title>re: How to build an Office COM add-in by using Visual C# .NET</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/09/03/how-to-build-an-office-com-add-in-by-using-visual-c-net.aspx#10171</link><pubDate>Wed, 03 Sep 2008 01:25:29 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10171</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;Hello Word Outlook Add-In using C# &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://weblogs.asp.net/dancre/archive/2004/03/21/93712.aspx"&gt;weblogs.asp.net/.../93712.aspx&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;One thing I’d like to play with is extending Outlook through add-ins with C#. It’ll be a good opportunity to learn more about .NET development and the Windows tools. Plus, I can “fix” some of the things that annoy me about Outlook. I’ve been talking to Omar about this too, and hopefully we can collaborate on a few projects. We’ve been sharing a few links back and forth on getting started. It’s a bit hard to find the right information to get started, but it’s out there. I’ve compiled steps below for a “hello world” type Outlook project that I’ll be building off in the future. I hope this will be useful to others trying to get started on developing Outlook add-ins using managed code. Please let me know if I’m missing anything or have errors.&lt;/p&gt;
&lt;p&gt;Install Primary Interop Assemblies&lt;/p&gt;
&lt;p&gt;.NET can interface with COM code using interop assemblies. You can create these as needed by adding a reference to a COM type library. However, if you do this for the Outlook/Office type libraries, this will lead to strange problems like this. This doesn’t sound like the thing I want to find out about the hard way. The solution is to install “primary interop assemblies” that live in the GAC and will be used instead of custom generated ones. You can download PIAs for Outlook XP here. For Outlook 2003, you can go to Control Panels-&amp;gt;Add/Remove programs and customize your installation to add them. Just choose “.NET Programmability” under the various components. They are initially set to install on first use – I don’t know what would actually trigger this. Once these are installed, adding a reference to the COM type libraries will add these “magic” versions instead of generating new versions with strange issues.&lt;/p&gt;
&lt;p&gt;Create a Visual Studio.NET project&lt;/p&gt;
&lt;p&gt;Create a new Visual Studio.Net project. For the project type, select Other Projects-&amp;gt;Extensibility Projects-&amp;gt;Shared Add-ins (who would think to look here?). This brings you through a wizard where you can select the language (C#, of course!) and which hosts to support. One cool thing you can do with the Office COM-plugins is support multiple apps with the same plugin, but I’m only interested in Outlook for now. Then, you have the chance to fill in some other random info, and your project is created. The project will have template code that implements the IDTExtensibility2 interface required to create an add-in.&lt;/p&gt;
&lt;p&gt;Add references&lt;/p&gt;
&lt;p&gt;We need to add references to a couple of things we’ll be using. Right-click References under the add-in project, select “Add Reference”, go to the COM tab, and select Microsoft Outlook 11.0 Object Library (or Outlook 10.0 if you are using Outlook XP). If the PIA stuff worked right, when you select it in the solution explorer, the path in the properties tab should be pointing into the GAC, not into the office folder. Next, select &lt;/p&gt;
&lt;p&gt;“Add Reference” again, and add “System.Windows.Forms” from the .NET tab. This will let us do our “Hello World” dialog.&lt;/p&gt;
&lt;p&gt;Flesh out code&lt;/p&gt;
&lt;p&gt;First, we need to add a member variable. We’ll also change the type of the application object to be the Outlook type (since we’ll only support Outlook):&lt;/p&gt;
&lt;p&gt;private Microsoft.Office.Interop.Outlook.Application applicationObject;&lt;/p&gt;
&lt;p&gt;private object addInInstance;&lt;/p&gt;
&lt;p&gt;private CommandBarButton toolbarButton;&lt;/p&gt;
&lt;p&gt;Next, we’ll update OnConnection to cast to the Outlook object type, and add some logic from kb 302901 (why isn’t this in the template if it’s the right thing to do?):&lt;/p&gt;
&lt;p&gt;public void OnConnection(object application, Extensibility.ext_ConnectMode connectMode, object addInInst, ref System.Array custom)&lt;/p&gt;
&lt;p&gt;{ &amp;nbsp; &amp;nbsp; &lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;applicationObject = (Microsoft.Office.Interop.Outlook.Application)application;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;addInInstance = addInInst;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(connectMode != Extensibility.ext_ConnectMode.ext_cm_Startup)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OnStartupComplete(ref custom);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Likewise, we’ll update OnDisconnection according to kb 302901:&lt;/p&gt;
&lt;p&gt;public void OnDisconnection(Extensibility.ext_DisconnectMode disconnectMode, ref System.Array custom)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;if(disconnectMode != Extensibility.ext_DisconnectMode.ext_dm_HostShutdown)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;OnBeginShutdown(ref custom);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;applicationObject = null;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;Next, when we’re done loading, we will create a toolbar button. The version in kb 302901 is more complex because it’s generalize to work in apps other than Outlook:&lt;/p&gt;
&lt;p&gt;public void OnStartupComplete(ref System.Array custom)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;CommandBars commandBars = applicationObject.ActiveExplorer().CommandBars;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;// Create a toolbar button on the standard toolbar that calls ToolbarButton_Click when clicked&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;try&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // See if it already exists&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; this.toolbarButton = (CommandBarButton)commandBars[&amp;quot;Standard&amp;quot;].Controls[&amp;quot;Hello&amp;quot;];&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;catch(Exception)&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Create it&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.toolbarButton = (CommandBarButton)commandBars[&amp;quot;Standard&amp;quot;].Controls.Add(1, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value, System.Reflection.Missing.Value);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.toolbarButton.Caption = &amp;quot;Hello&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;this.toolbarButton.Style = MsoButtonStyle.msoButtonCaption;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;}&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton.Tag = &amp;quot;Hello Button&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton.OnAction = &amp;quot;!&amp;lt;MyAddin1.Connect&amp;gt;&amp;quot;;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton.Visible = true;&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton.Click += new Microsoft.Office.Core._CommandBarButtonEvents_ClickEventHandler(this.OnToolbarButtonClick);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;On shutdown, we’ll delete our toolbar button:&lt;/p&gt;
&lt;p&gt;public void OnBeginShutdown(ref System.Array custom)&lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton.Delete(System.Reflection.Missing.Value);&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;this.toolbarButton = null;&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;And, we’ll define the action when clicking the button:&lt;/p&gt;
&lt;p&gt;private void OnToolbarButtonClick(CommandBarButton cmdBarbutton,ref bool cancel) &lt;/p&gt;
&lt;p&gt;{&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;System.Windows.Forms.MessageBox.Show(&amp;quot;Hello World&amp;quot;,&amp;quot;My Addin&amp;quot;);&lt;/p&gt;
&lt;p&gt;}&lt;/p&gt;
&lt;p&gt;To test it out, you build the addin project, and then the setup project. Quit Outlook, then right-click the setup project and select “Install”. &amp;nbsp;When you launch Outlook, a button named “Hello” will show up in the main toolbar. Selecting it will say “Hello World”. You can manage this add-in by going to the COM add-in dialog at Tools-&amp;gt;Options-&amp;gt;Other-&amp;gt;Advanced Options-&amp;gt;COM Add-Ins.&lt;/p&gt;
&lt;p&gt;What’s missing&lt;/p&gt;
&lt;p&gt;There are some steps that need to be taken to install the PIA when installing your add-in. See the steps here. That sample also has a lot of information about signing your plugin, which I’ve ignored so far.&lt;/p&gt;
&lt;p&gt;What’s next&lt;/p&gt;
&lt;p&gt;Next, I have to learn more about the Outlook object model and how to actually do interesting things. I also need to learn how to debug the add-ins.&lt;/p&gt;
&lt;p&gt;Reference&lt;/p&gt;
&lt;p&gt;General description of COM Add-Ins: &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/modcore/html/deovrWhatIsCOMAddin.asp"&gt;msdn.microsoft.com/.../default.asp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A sample Visual Basic.NET plugin (describes the PIA stuff): &lt;a rel="nofollow" target="_new" href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnout2k2/html/odc_oladdinvbnet.asp"&gt;msdn.microsoft.com/.../default.asp&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;KB 302901 (building an Office COM plugin using Visual C#.NET): &lt;a rel="nofollow" target="_new" href="http://support.microsoft.com/?kbid=302901"&gt;support.microsoft.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Niobe, a library for Outlook managed plug-ins (I’m not sure what you get above doing it from scratch, there isn’t much documentation): &lt;a rel="nofollow" target="_new" href="http://www.gotdotnet.com/community/workspaces/workspace.aspx?ID=E7071B93-7970-4962-A4C2-D72AA2CFBCFF"&gt;www.gotdotnet.com/.../workspace.aspx&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10171" width="1" height="1"&gt;</description></item><item><title>re: 警惕二十九岁现象</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/08/31/10134.aspx#10145</link><pubDate>Mon, 01 Sep 2008 13:35:41 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:10145</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;还有俺还有几年才到二十九...&lt;/p&gt;
&lt;p&gt;but it &amp;nbsp; seem that many colleagues almost rich this age...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=10145" width="1" height="1"&gt;</description></item><item><title>re: Microsoft SQL Server 2008 正式发布</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/08/07/microsoft-sql-server-2008.aspx#9930</link><pubDate>Thu, 07 Aug 2008 08:23:55 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9930</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;听说数据达到4T之后,SQL server的性能比Oralce好很多,快很多哦.&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9930" width="1" height="1"&gt;</description></item><item><title>re: 写出高质量软件的75条体会</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/07/31/9849.aspx#9913</link><pubDate>Wed, 06 Aug 2008 06:02:20 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9913</guid><dc:creator>Kamte</dc:creator><description>&lt;p&gt;不错,但我们有的...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9913" width="1" height="1"&gt;</description></item><item><title>re: 写出高质量软件的75条体会</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/07/31/9849.aspx#9892</link><pubDate>Mon, 04 Aug 2008 01:19:41 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9892</guid><dc:creator>slash</dc:creator><description>&lt;p&gt;不错哦...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9892" width="1" height="1"&gt;</description></item><item><title>re: 写出高质量软件的75条体会</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/07/31/9849.aspx#9887</link><pubDate>Sun, 03 Aug 2008 15:30:32 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9887</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;22. 你们项目组有Team Morale Activity么？&lt;/p&gt;
&lt;p&gt;MVM：每个月都要搞一次，吃饭、唱歌、Outing、打球、开卡丁车等等，一定要有。不要剩这些钱。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9887" width="1" height="1"&gt;</description></item><item><title>re: How to Restore SQL Server 2005 Suspect Database</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/08/01/how-to-restore-sql-server-2005-suspect-database.aspx#9864</link><pubDate>Fri, 01 Aug 2008 10:00:21 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9864</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;googling found an interesting page here: &lt;a rel="nofollow" target="_new" href="http://www.spaceprogram.com/knowledge/sqlserver_recover_from_deleted_log.html"&gt;www.spaceprogram.com/.../sqlserver_recover_from_deleted_log.html&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Here is the text from that website:&lt;/p&gt;
&lt;p&gt;Recovering from a deleted log file on SQL Server&lt;/p&gt;
&lt;p&gt;Introduction&lt;/p&gt;
&lt;p&gt;This document will give instructions on how to recover from a deleted database log file on Microsoft SQL Server. The database this was done on was SQL Server 7 with SQL Server 2000. &lt;/p&gt;
&lt;p&gt;You will get a suspect beside the name of the database when this happens. &lt;/p&gt;
&lt;p&gt;You may be interested in the document if one of the following happened:&lt;/p&gt;
&lt;p&gt;You're log file got too big so you decided to shutdown SQL Server, then delete the log file. &lt;/p&gt;
&lt;p&gt;Salvage data from a damaged SQL data (.MDF) file. ( Someone emailed about this ).&lt;/p&gt;
&lt;p&gt;That's the only reason I can think of right now and that is the reason I have come to do figuring this out, so here goes. &lt;/p&gt;
&lt;p&gt;Instructions&lt;/p&gt;
&lt;p&gt;If you have a recent backup of the database, USE IT! Forget about this article and do a normal restore procedure. Otherwise read on.&lt;/p&gt;
&lt;p&gt;First of all, you are SOL if you want a full recovery. You just can't get all the data back because the log file itself contained a lot of transactions that may never have made it to the data file. &lt;/p&gt;
&lt;p&gt;So anyways, I read just about everything possible on this topic and nothing worked, I mean nothing. I tried going into emergency mode, running stored procedures that did squat, using sp_detach_db, then sp_attach_db, etc, even trying db_rebuild_log() (the rebuild_log thing seems to be an undocumented feature that someone must have figured out... easter egg?? not really since there are some serious warnings against using it, but hey, when you're in dire straits, you'll try anything once, right?).&lt;/p&gt;
&lt;p&gt;This restore procedure doesn't seem to be formally documented anywhere. I guess you're just not supposed to be this stupid, but everybody makes mistakes don't they? And hey, I'm no DBA or anything! I just use the damn things. ;-)&lt;/p&gt;
&lt;p&gt;Anyways, on to the guts of the article. I am trying to make this as simple as possible and pulling this from memory so if there is something I am missing, please don't hesitate to e-mail us at: knowledge@spaceprogram.com.&lt;/p&gt;
&lt;p&gt;There's one thing to note here and if someone could verify it, that would be great. First thing I'd like to verify is if you can just skip to step 9 right off the bat? So as soon as you get a suspect database, can you just start at step 9? Can someone please try that and let me know. SEE UPDATE: JAN. 6, 2003 BELOW&lt;/p&gt;
&lt;p&gt;Backup the data (.mdf) file! Just in case. We take no responsibility for anything that happens following this procedure.&lt;/p&gt;
&lt;p&gt;EXEC sp_detach_db 'dbname' -- this will detach the database from the server &lt;/p&gt;
&lt;p&gt;Restart SQL Server&lt;/p&gt;
&lt;p&gt;The database may still be seen in enterprise manager, but just ignore it. &lt;/p&gt;
&lt;p&gt;Create a new database with the same name or a different name. You will have to use a different physical file name, which is fine. &lt;/p&gt;
&lt;p&gt;Stop SQL Server. &lt;/p&gt;
&lt;p&gt;Rename the new data file that was created to something else (ex: add.bak to the end) &lt;/p&gt;
&lt;p&gt;Rename the old data file that you want to restore to the name of the newly created file (the same name as the file you changed in the step above) &lt;/p&gt;
&lt;p&gt;Start SQL Server&lt;/p&gt;
&lt;p&gt;Now the db will still be suspect but you now have a log file. &lt;/p&gt;
&lt;p&gt;Switch to emergency mode on the database. You do this by doing the following: &lt;/p&gt;
&lt;p&gt;Right click on the database root node in Enterprise manager and bring up the properties. &lt;/p&gt;
&lt;p&gt;Under the Server Settings tab, check of &amp;quot;Allow modifications to be made directly to the system catalogs&amp;quot;. &lt;/p&gt;
&lt;p&gt;click ok &lt;/p&gt;
&lt;p&gt;Now go to the master database and open the sysdatabases table. &lt;/p&gt;
&lt;p&gt;Find the suspected database in here and modify the status column, setting it to: 32768. This will put it into emergency mode. &lt;/p&gt;
&lt;p&gt;stop then start sql server &lt;/p&gt;
&lt;p&gt;Now here's the tricky part and I'm not sure how this will work on a single install, i was lucky enough to have SQL Server 2000 installed. But anyways, open up the Import and Export Data (DTS) program from the start menu. And you want to copy data from the old database to a brand new one. Just copy tables and views. And voila, this should work smoothly. Let me emphasize should.&lt;/p&gt;
&lt;p&gt;UPDATE: Jan. 6, 2003&lt;/p&gt;
&lt;p&gt;I just received an email from someone who tried starting at step 9 and he said it worked. If I can get someone else to confirm that, then I'll get rid of 1-8. &lt;/p&gt;
&lt;p&gt;UPDATE: June 18, 2003&lt;/p&gt;
&lt;p&gt;It seems that some people can just do 9-10 and some have to do all the steps. &lt;/p&gt;
&lt;p&gt;Emails Received in Response to this Article&lt;/p&gt;
&lt;p&gt;There have been many emails we have received about this article both sharing their experience and praising the instructions. &lt;/p&gt;
&lt;p&gt;Read the emails here: &lt;a rel="nofollow" target="_new" href="http://www.spaceprogram.com/knowledge/sqlserver_recover_emails_received.html"&gt;www.spaceprogram.com/.../sqlserver_recover_emails_received.html&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9864" width="1" height="1"&gt;</description></item><item><title>re: XPO 使用记录</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/07/15/xpo.aspx#9700</link><pubDate>Fri, 18 Jul 2008 00:53:41 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9700</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;长了见识。封装的这么多，有没有原理或原形资料参考？有没有建立这个xpo的开发人员写的指南或深入XXX 文档？&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9700" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.19</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9391</link><pubDate>Fri, 20 Jun 2008 00:36:14 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9391</guid><dc:creator>slash</dc:creator><description>&lt;p&gt;haha...&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9391" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.10</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9289</link><pubDate>Wed, 11 Jun 2008 03:27:32 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9289</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;壹壹壹壹壹壹......怒！！874一百遍啊一百遍！&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9289" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.10</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9286</link><pubDate>Wed, 11 Jun 2008 00:45:17 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9286</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;10个雪糕?不值, simple assembly exploer就值.&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9286" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.05</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9244</link><pubDate>Fri, 06 Jun 2008 09:14:54 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9244</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;Here there are many characters:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.msagentring.org/chars.aspx"&gt;www.msagentring.org/chars.aspx&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9244" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.05</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9243</link><pubDate>Fri, 06 Jun 2008 01:56:50 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9243</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;系统设计使然。Add的时候是真的Add。没有加密，Reflector看看就是了。和源代码基本上一模一样。想要project的话至少10个雪糕。&lt;/p&gt;&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9243" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.05</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9242</link><pubDate>Fri, 06 Jun 2008 01:50:54 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9242</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;是不是开源的?怎样可以得到源代码啊?&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9242" width="1" height="1"&gt;</description></item><item><title>re: SimpleReminder Build 2008.06.05</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/06/06/simplereminder-build-2008-06-05.aspx#9240</link><pubDate>Fri, 06 Jun 2008 01:31:20 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:9240</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;点了add, &amp;nbsp;没有save,直接按close,又会add 一个空白的event?&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=9240" width="1" height="1"&gt;</description></item><item><title>re: c#四种eval方法</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/03/12/c-eval.aspx#8692</link><pubDate>Fri, 25 Apr 2008 07:07:35 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:8692</guid><dc:creator>Coolboy</dc:creator><description>&lt;p&gt;up up先..&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=8692" width="1" height="1"&gt;</description></item><item><title>re:  How to Create Linked Server for a MySQL in SQL Server</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/04/08/how-to-create-linked-server-for-a-mysql-in-sql-server.aspx#8499</link><pubDate>Tue, 08 Apr 2008 02:17:14 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:8499</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;Please follow below steps to create linked server for Mysql in SQL 2000:&lt;/p&gt;
&lt;p&gt;1. Download and Install MySQL ODBC driver &lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://dev.mysql.com/downloads/connector/odbc/3.51.html"&gt;dev.mysql.com/.../3.51.html&lt;/a&gt;, you can choose Windows MSI Installer (x86) for simplified installation.&lt;/p&gt;
&lt;p&gt;2. Configure ODBC&lt;/p&gt;
&lt;p&gt;Open Administrative Tools -&amp;gt; Data Source (ODBC) (in Windows 2000, it may be Control Panel -&amp;gt; ODBC)&lt;/p&gt;
&lt;p&gt;Click System DSN -&amp;gt; Add -&amp;gt; Choose MySQL ODBC 3.51 Driver -&amp;gt; Finish&lt;/p&gt;
&lt;p&gt;Login tab:&lt;/p&gt;
&lt;p&gt;Data Source Name: dotcom&lt;/p&gt;
&lt;p&gt;Server: mysql server host name or ip address&lt;/p&gt;
&lt;p&gt;User: mysql user account&lt;/p&gt;
&lt;p&gt;Password: mysql user password&lt;/p&gt;
&lt;p&gt;Database: mysql database&lt;/p&gt;
&lt;p&gt;Advanced tab:&lt;/p&gt;
&lt;p&gt;Flags 1:&lt;/p&gt;
&lt;p&gt;check Don't Optimize Column width&lt;/p&gt;
&lt;p&gt;check Return Matching Rows&lt;/p&gt;
&lt;p&gt;check Allow Big Results&lt;/p&gt;
&lt;p&gt;check Change BIGINT Columns to Int&lt;/p&gt;
&lt;p&gt;check Safe&lt;/p&gt;
&lt;p&gt;Flags 2:&lt;/p&gt;
&lt;p&gt;check Don't Prompt Upon Connect&lt;/p&gt;
&lt;p&gt;check Ignore # in Table Name&lt;/p&gt;
&lt;p&gt;Flag 3:&lt;/p&gt;
&lt;p&gt;check Return Table Names for SQLDescribeCol&lt;/p&gt;
&lt;p&gt;check Disable Transactions&lt;/p&gt;
&lt;p&gt;OK to save the DSN&lt;/p&gt;
&lt;p&gt;3. Create Linked Server&lt;/p&gt;
&lt;p&gt;Open SQL Server Enterprise Manager, go to Security -&amp;gt; Linked Server&lt;/p&gt;
&lt;p&gt;Right click and select New Linked Server&lt;/p&gt;
&lt;p&gt;General tab:&lt;/p&gt;
&lt;p&gt;Linked Server: dotcom&lt;/p&gt;
&lt;p&gt;Other data source: Microsoft OLE DB Provider for ODBC Driver&lt;/p&gt;
&lt;p&gt;Provider Options:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;check Nested queries&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;check Level zero only&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;check Allow InProcess&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;check Non transacted updates&lt;/p&gt;
&lt;p&gt;Product name: dotcom&lt;/p&gt;
&lt;p&gt;Data Source: dotcom&lt;/p&gt;
&lt;p&gt;Security tab:&lt;/p&gt;
&lt;p&gt;Be made using this security context:&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;Remote login: mysql user account&lt;/p&gt;
&lt;p&gt; &amp;nbsp; &amp;nbsp;with password: mysql user password&lt;/p&gt;
&lt;p&gt;OK to save the linked server&lt;/p&gt;
&lt;p&gt;4. Test the Linked Server by SQL&lt;/p&gt;
&lt;p&gt;select * from dotcom...[table name] &lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=8499" width="1" height="1"&gt;</description></item><item><title>re: 制作集成SATA驱动的WindowsXP/2003安装盘</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/03/30/sata-windowsxp-2003.aspx#8399</link><pubDate>Tue, 01 Apr 2008 00:46:03 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:8399</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;刻录进光盘，不用软驱是一个进步。&lt;/p&gt;
&lt;p&gt;后面的留给各个厂商自己搞得人性点吧。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=8399" width="1" height="1"&gt;</description></item><item><title>re: 制作集成SATA驱动的WindowsXP/2003安装盘</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/03/30/sata-windowsxp-2003.aspx#8376</link><pubDate>Sun, 30 Mar 2008 03:21:25 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:8376</guid><dc:creator>wicky</dc:creator><description>&lt;p&gt;详细的英文教程：&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://forum.driverpacks.net/viewtopic.php?id=1449"&gt;forum.driverpacks.net/viewtopic.php&lt;/a&gt;&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=8376" width="1" height="1"&gt;</description></item><item><title>re: 电话激活Windows 2008</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/03/20/windows-2008.aspx#8212</link><pubDate>Thu, 20 Mar 2008 07:02:43 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:8212</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;系统会返回一组48位阿拉伯数字的激活ID,记录下来....&lt;/p&gt;
&lt;p&gt;----好长阿。48位，怎么记，用笔记。。。记错一个怎么办呢！！！&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=8212" width="1" height="1"&gt;</description></item><item><title>re: ASP.NET 2.0页面框架的几点新功能</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/02/29/asp-net-2-0.aspx#7995</link><pubDate>Thu, 06 Mar 2008 03:25:24 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:7995</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;what a nice post !&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=7995" width="1" height="1"&gt;</description></item><item><title>re: Enter Key in ASP.NET - Complete Research</title><link>http://sdt.sumida.com.cn:8080/cs/blogs/wicky/archive/2008/02/26/enter-key-in-asp-net-complete-research.aspx#7877</link><pubDate>Wed, 27 Feb 2008 01:01:02 GMT</pubDate><guid isPermaLink="false">671e4790-9a26-4000-810a-a72ab02f8f44:7877</guid><dc:creator>jawance</dc:creator><description>&lt;p&gt;怪事。。&lt;/p&gt;
&lt;img src="http://sdt.sumida.com.cn:8080/cs/aggbug.aspx?PostID=7877" width="1" height="1"&gt;</description></item></channel></rss>