<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom"><title type="text">博客园_河南恒友科贸有限公司持之以恒 用户挚友 技术为本 服务为魂</title><subtitle type="text"/><id>http://feed.cnblogs.com/blog/u/24988/rss</id><updated>2011-06-01T09:25:52Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><generator>CNBlogs BlogServer</generator><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/"/><link rel="self" type="application/atom+xml" href="http://feed.cnblogs.com/blog/u/24988/rss"/><entry><id>http://www.cnblogs.com/pegger/archive/2011/06/01/2067211.html</id><title type="text">2003远程桌面设置</title><summary type="text">XP和2003中的远程桌面功能非常方便，不像以往需要安装。所以我一直使用，不过由于只允许2个用户登陆，有些时候因为在公司连接后断开，同事在家里用 其他用户登陆后断开，我就不能连接了。总是报错“终端服务超过最大连接数”，这时候我和同事都不能登陆，有没有什么办法可以达到以下几个目的中的一个： 1、为账号设定权限，管理员登陆的时候强制注销多余的用户。 2、管理员登陆的时候自动接管在其他地方断开的状态（本来这个功能具备，但有些时候不行）。 3、不安装总段服务的时候增加连接数（不是临时授权） 我们来增加连接数运行：services.msc，启用license logging。打开win2k3的控制面板中</summary><published>2011-06-01T09:26:00Z</published><updated>2011-06-01T09:26:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2011/06/01/2067211.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2011/06/01/2067211.html"/><content type="html">&lt;p style="text-indent: 2em"&gt;XP和2003中的远程桌面功能非常方便，不像以往需要安装。所以我一直使用，不过由于只允许2个用户登陆，有些时候因为在公司连接后断开，同事在家里用 其他用户登陆后断开，我就不能连接了。总是报错&amp;#8220;终端服务超过最大连接数&amp;#8221;，这时候我和同事都不能登陆，有没有什么办法可以达到以下几个目的中的一个： &amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;1、为账号设定权限，管理员登陆的时候强制注销多余的用户。&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;2、管理员登陆的时候自动接管在其他地方断开的状态（本来这个功能具备，但有些时候不行）。&amp;nbsp;&amp;nbsp;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;3、不安装总段服务的时候增加连接数（不是临时授权） &lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;我们来增加连接数&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;运行：services.msc，启用license logging。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;打开win2k3的控制面板中的"授权"，点"添加许可"，输入要改的连接数。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;别忘了添加完毕后再关闭 License Logging。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;开始－运行－gpedit.msc－计算机配置－管理模板－windows组件－终端服务－会话&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;右边窗口选择 为断开的会话设置时间限制 －选择已启用，选择一个时间&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;问题解决&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;另建议：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;开始－管理工具－终端服务配置－服务器配置－限制每个用户使用一个会话.&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;现象及原因：用远程桌面连接登录到终端服务器时经常会遇到&amp;#8220;终端服务器超出最大允许连接数&amp;#8221; 诸如此类错误导致无法正常登录终端服务器，引起该问题的原因在于Windows Server 2003中设置终端服务的缺省连接数为2个链接，并且当登录远程桌面后如果不是采用注销方式退出，而是直接关闭远程桌面窗口，那么实际上会话并没有释放 掉，而是继续保留在服务器端，这样就会占用总的链接数，当这个数量达到最大允许值时就会出现上面的提示。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;解决方案：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;法一：用&amp;#8220;注销&amp;#8221;方式退出远程桌面而不是直接关闭窗口&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;法二：踢出已经断开连接的用户&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;1、首先telnet到此主机上(不管你用什么方法)，当然如果能直接操作机器更好，不过直接操作就不必用命令行了，用控制台更直观(略过)。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;2、Telnet上去后,先看登陆的用户：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;输入命令：query user 系统返回：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;用户名Username&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 会话名Session Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp; 状态State&amp;nbsp;&amp;nbsp;&amp;nbsp; 空闲时间Idle Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 登录时间Logon Time &lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;administrator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; console&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 运行中&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2007-1-12 10:24&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;lucy&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1&amp;nbsp;&amp;nbsp; 唱片&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 无&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2007-1-12 10:35&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&amp;gt;administrator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; rdp-tcp#35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; 已断开&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2007-1-25 18:09&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;此时可以看出的可能跟我的不一样，根据你的具体情况而定。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;ID 0 的用户是本地登陆的&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;ID 1 和 ID 2是3389登陆的用户，前者在运行中， 后者已经断开了，但是断开了仍然占用系统资源和通道，我们要把它踢掉，如下进行操作即可。 &lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;输入命令：logoff 1 &lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;再看看&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;C:\Documents and Settings\Administrator.AD&amp;gt;query user&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;用户名Username&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 会话名Session Name&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ID&amp;nbsp;&amp;nbsp; 状态State&amp;nbsp;&amp;nbsp;&amp;nbsp; 空闲时间Idle Time&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 登录时间Logon Time&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;administrator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; console&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0&amp;nbsp;&amp;nbsp; 运行中&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2007-1-12 10:24&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&amp;gt;administrator&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; rdp-tcp#35&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2&amp;nbsp;&amp;nbsp; 已断开&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; .&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2007-1-25 18:09&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;3、如果服务器关闭了telnet功能（这是默认的），还可以通过SqlServer的xp_cmdshell扩展存储过程，使用格式： master.dbo.xp_cmdshell ''''命令内容''''，其余可参考第二步。此方式要求有访问xp_cmdshell的权限。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;法三（最佳方法－推荐）：限制已断开链接的会话存在时间&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;一般情况下，我们在维护远程服务器时，不可能长时间在线，但是系统默认的却是只要登录就不再断开。因此，我们可以修改这一默认设置，给它指定一个自动断开的时间即可。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;可以在Windows 2003 服务器上通过组策略中设置一下来解决问题：单击"开始&amp;#8594;运行"，输入"gpedit.msc"，回车后打开组策略窗口，然后依次定位到"计算机配置&amp;#8594;管理 模板&amp;#8594;Windows 组件&amp;#8594;终端服务&amp;#8594;会话"，然后在右侧窗口中双击"为断开的会话设置时间限制"，在打开的窗口中将"结束断开连接的会话"时间设置为5分钟，或者设置为空闲 就断开。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;或&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;在远程服务器上打开&amp;#8220;运行&amp;#8221;窗口，输入&amp;#8220;tscc.msc&amp;#8221;连接设置窗口。然后双击&amp;#8220;连接&amp;#8221;项右侧的&amp;#8220;RDP-Tcp&amp;#8221;，切换到&amp;#8220;会话&amp;#8221;标签，选中&amp;#8220;替代用户设置&amp;#8221;选项，再给&amp;#8220;结束已断开的会话&amp;#8221;设置一个合适的时间即可。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;法四：增加连接数量，即设置可连接的数量多些&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;默认情况下允许远程终端连接的数量是2个用户，我们可以根据需要适当增加远程连接同时在线的用户数。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;单击&amp;#8220;开始&amp;#8594;运行&amp;#8221;，输入&amp;#8220;gpedit.msc&amp;#8221;打开组策略编辑器窗口，依次定位到&amp;#8220;计算机配置&amp;#8594;管理模板&amp;#8594;Windows 组件&amp;#8594;终端服务&amp;#8221;，再双击右侧的&amp;#8220;限制连接数量&amp;#8221;，将其TS允许的最大连接数设置大一些即可。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;经过上面两个配置(法三&amp;amp;法四)，基本上就可以保证远程终端连接时不再受限。但仍有人反映，当前同时只有一个用户进行连接，却提示超出最大允许链 接数，这又是什么原因呢？出现这种情况是因为操作不当所造成的。在上一个帐户登录远程桌面后退出时，没有采用注销的方式，而是直接关闭远程桌面窗口，那么 导致该会话并没有被释放，而是继续保留在服务器端，占用了连接数，这样就会影响下一个用户的正常登录了。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;法五：限制用户会话数&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;对Terminal Services进行限制，使得一个用户仅仅能够连接一次&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;对于Windows Server 2003，请在Terminal Services Configuration（Terminal Services配置）中将&amp;#8220;限制每位用户只有拥有一个会话&amp;#8221;（Restrict each user to one session）设置为&amp;#8220;是&amp;#8221;（Yes）。此外，您可以将&amp;#8220;限制终端服务用户使用单个远程会话&amp;#8221;组策略设置为&amp;#8220;启用&amp;#8221;。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;版本不一样解决的方法有异：&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;A：这是因为Windows 2003中设置了最大允许连接数限制，而你每次连接后可能没有注销而是直接关 闭，导致连接数超过了最大连接数。你可以在Windows 2003 服务器上通过组策略中设置一下来解决问题：单击&amp;#8220;开始&amp;#8594;运行&amp;#8221;，输入 &amp;#8220;gpedit.msc&amp;#8221;，回车后打开组策略窗口，然后依次定位到&amp;#8220;计算机配置&amp;#8594;管理模板&amp;#8594;终端服务&amp;#8594;会话&amp;#8221;，然后在右侧窗口中双击&amp;#8220;为断开的会话设置时 间限制&amp;#8221;，在打开的窗口中将&amp;#8220;结束断开连接的会话&amp;#8221;时间设置为5分钟。最好的解决方法还是你每次断开连接时通过注销的方式。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;B：经常多人管理服务器的朋友一定遇到过当自己终端连接远程计算机的时候却提示&amp;#8220;终端连接超出了最大连接&amp;#8221;的提示吧？&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;这是因为windows2003仅支持2个终端用户的登陆。当这种情况出现后，多数人选择的是给机房打电话进行重启服务器。可是带来的损失也是显而 易见的。那么我们有什么办法来解决呢？方法当然是有的。我们只需要在一台2003的机器上运行&amp;#8220;tsmmc.msc&amp;#8221;就可以打开远程桌面连接，在这里我们 添加一个新的连接，输入对方的IP地址帐号和密码后就可以成功登陆到对方的桌面中，这时可以再踢下一个用户。就可以解决终端连接数超过最大的问题。&lt;/p&gt;&#xD;
&lt;p style="text-indent: 2em"&gt;C：开始--控制面版---授权里面更改连接数&lt;/p&gt;&lt;img src="http://www.cnblogs.com/pegger/aggbug/2067211.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pegger/archive/2011/06/01/2067211.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pegger/archive/2011/04/30/2033285.html</id><title type="text">把图象文件转换成XML格式文件</title><summary type="text">利用.NET 框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换。这样可以轻易解决以XML格式保存图片的问题。代码如下：PrivateMyFileAsString=&amp;quot;&amp;quot;PrivateMyFileExtAsString=&amp;quot;&amp;quot;PrivateSubButton2_Click(ByValsenderAsSystem.Object,ByValeAsSystem.EventArgs)_HandlesButton2.ClickDimpicAsStringDimMyXmlAsSystem.Xml.XmlD</summary><published>2011-04-30T02:03:00Z</published><updated>2011-04-30T02:03:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033285.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033285.html"/><content type="html">&lt;p&gt;&lt;div&gt;&lt;p&gt;利用.NET  框架下的FromBase64String和ToBase64String方法可以很容易地实现图象文件和XML文件的互换。这样可以轻易解决以XML格式保存图片的问题。代码如下：&amp;nbsp;&lt;span  style="font-family: 'Courier New'; font-size: 13px; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;MyFile&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;""&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;MyFileExt&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;""&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Sub&amp;nbsp;Button2_Click(ByVal&amp;nbsp;sender&amp;nbsp;As&amp;nbsp;System.Object,&amp;nbsp;ByVal&amp;nbsp;e&amp;nbsp;As&amp;nbsp;System.EventArgs)&amp;nbsp;_&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handles&amp;nbsp;Button2.Click&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pic&amp;nbsp;As&amp;nbsp;String&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;MyXml&amp;nbsp;As&amp;nbsp;System.Xml.XmlDocument&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;New&amp;nbsp;System.Xml.XmlDocument()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyXml.Load(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;c:\MyPhoto.xml&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;picNode&amp;nbsp;As&amp;nbsp;System.Xml.XmlNode&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;picNode&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MyXml.SelectSingleNode(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;/pic/photo&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pic&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;picNode.InnerText&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;memoryStream&amp;nbsp;As&amp;nbsp;System.IO.MemoryStream&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memoryStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;New&amp;nbsp;System.IO.MemoryStream(Convert.FromBase64String(pic))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Me.PictureBox1.Image&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;New&amp;nbsp;System.Drawing.Bitmap(memoryStream)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memoryStream.Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Sub&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Sub&amp;nbsp;Button1_Click(ByVal&amp;nbsp;sender&amp;nbsp;As&amp;nbsp;System.Object,&amp;nbsp;ByVal&amp;nbsp;e&amp;nbsp;As&amp;nbsp;System.EventArgs)&amp;nbsp;_&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handles&amp;nbsp;Button1.Click&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;MyFile&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;""&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;请选择一个图片！&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;错误&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&amp;nbsp;MessageBoxButtons.OK,&amp;nbsp;MessageBoxIcon.Warning)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Exit&amp;nbsp;Sub&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;MyImg&amp;nbsp;As&amp;nbsp;System.Drawing.Image&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MyImg.FromFile(MyFile)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;memoryStream&amp;nbsp;As&amp;nbsp;System.IO.MemoryStream&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;New&amp;nbsp;System.IO.MemoryStream()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyImg.Save(memoryStream,&amp;nbsp;GetImageType(MyFileExt))&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;b()&amp;nbsp;As&amp;nbsp;Byte&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;b&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;memoryStream.GetBuffer()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;pic&amp;nbsp;As&amp;nbsp;String&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Convert.ToBase64String(b)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;memoryStream.Close()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;MyXml&amp;nbsp;As&amp;nbsp;System.Xml.XmlDocument&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;New&amp;nbsp;System.Xml.XmlDocument()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyXml.LoadXml(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;pic&amp;gt;&amp;lt;name&amp;gt;孟宪会&amp;lt;/name&amp;gt;&amp;lt;photo&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;pic&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&amp;lt;/photo&amp;gt;&amp;lt;/pic&amp;gt;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyXml.Save(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;c:\MyPhoto.xml&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Label1.Text&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;文件被保存到了：&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;Microsoft.VisualBasic.ChrW(&lt;/span&gt;&lt;span style="color: #800080;"&gt;13&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;c:\MyPhoto.xml&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Sub&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Private&amp;nbsp;Sub&amp;nbsp;Button3_Click(ByVal&amp;nbsp;sender&amp;nbsp;As&amp;nbsp;System.Object,&amp;nbsp;ByVal&amp;nbsp;e&amp;nbsp;As&amp;nbsp;System.EventArgs)&amp;nbsp;_&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Handles&amp;nbsp;Button3.Click&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Dim&amp;nbsp;openFileDialog1&amp;nbsp;As&amp;nbsp;New&amp;nbsp;OpenFileDialog()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openFileDialog1.InitialDirectory&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;c:\"&lt;/span&gt;&lt;span style="color: #800000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openFileDialog1.Filter&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;PNG(*.png)|*.png|Gif(*.gif)|*.gif|Jpg(*.jpg)|*.jpg|所有图象文件(*.*)|*.*&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openFileDialog1.FilterIndex&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;2&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;openFileDialog1.RestoreDirectory&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;True&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;If&amp;nbsp;openFileDialog1.ShowDialog()&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;DialogResult.OK&amp;nbsp;Then&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyFile&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;openFileDialog1.FileName()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MyFileExt&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;MyFile.Substring(MyFile.LastIndexOf(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;.&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;+&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;If&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Sub&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;Public&amp;nbsp;Function&amp;nbsp;GetImageType(ByVal&amp;nbsp;str&amp;nbsp;As&amp;nbsp;String)&amp;nbsp;As&amp;nbsp;System.Drawing.Imaging.ImageFormat&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Select&amp;nbsp;Case&amp;nbsp;str.ToLower()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;jpg&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.Jpeg&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;gif&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.Gif&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;tiff&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.Tiff()&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;icon&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.Icon&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;image/png&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.Png&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Case&amp;nbsp;Else&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Return&amp;nbsp;System.Drawing.Imaging.ImageFormat.MemoryBmp&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Select&lt;br /&gt;&amp;nbsp;&amp;nbsp;End&amp;nbsp;Function&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/pegger/aggbug/2033285.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033285.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pegger/archive/2011/04/30/2033280.html</id><title type="text">UrlReWriter 使用经验小结</title><summary type="text">UrlRewriter 是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。 好了，开始讲述我的应用经验，这只是很菜鸟的经验，高手就不用看了。 第一步，请从此下载此组件。解压，把UrlRewriter.dll copy到你的项目 bin 目录下。 第二步，在Web.config中加入： &amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;gb2312&amp;quot; ?&amp;gt;&amp;lt;configuration&amp;gt; &amp;lt;configSections&amp;gt; &amp;lt;section name=&amp;quot;RewriterCon</summary><published>2011-04-30T01:55:00Z</published><updated>2011-04-30T01:55:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033280.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033280.html"/><content type="html">&lt;div&gt;&lt;div id="NewsContentLabel"&gt;&amp;nbsp;UrlRewriter  是微软封装好了的一个URL重写组件。使用它可以让我节约很多自已开发的时间。  &lt;div twffan="done"&gt; &lt;p&gt;好了，开始讲述我的应用经验，这只是很菜鸟的经验，高手就不用看了。&lt;/p&gt; &lt;p&gt;第一步，&lt;a href="http://www.microsoft.com/china/msdn/library/webservices/asp.net/URLRewriting.mspx"&gt;请从此下载此组件&lt;/a&gt;。解压，把UrlRewriter.dll  copy到你的项目 bin 目录下。&lt;/p&gt; &lt;p&gt;第二步，在Web.config中加入：&lt;/p&gt; &lt;p&gt;&amp;lt;?xml version="1.0" encoding="gb2312"  ?&amp;gt;&lt;br /&gt;&amp;lt;configuration&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;configSections&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;section name="RewriterConfig"  type="URLRewriter.Config.RewriterConfigSerializerSectionHandler, URLRewriter"  /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/configSections&amp;gt;&lt;/p&gt; &lt;p&gt;第二步，加入重写的规则节点：&lt;br /&gt;如：&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &amp;lt;RewriterConfig&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;Rules&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;LookFor&amp;gt;~/Sell/(.[0-9]*)\.html&amp;lt;/LookFor&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SendTo&amp;gt;~/Search/Search_Sell.aspx?id=$1&amp;lt;/SendTo&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;LookFor&amp;gt;~/Sell/Search_Sell\.aspx&amp;lt;/LookFor&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SendTo&amp;gt;~/Search/Search_Sell.aspx&amp;lt;/SendTo&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;LookFor&amp;gt;~/Buy/(.[0-9]*)\.html&amp;lt;/LookFor&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SendTo&amp;gt;~/Search/Search_Buy.aspx?id=$1&amp;lt;/SendTo&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;LookFor&amp;gt;~/Buys/(.[0-9]*)\.html&amp;lt;/LookFor&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;SendTo&amp;gt;~/Buys/Show.aspx?id=$1&amp;lt;/SendTo&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/RewriterRule&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Rules&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;/RewriterConfig&amp;gt;&lt;/p&gt; &lt;p&gt;这个就要根据你的需要了，如果你对正则表达式不熟，那么没办法，要么凭借你的高智商去找其中规律，稍稍改一下就能为你所用了。呵呵。如果实在搞不清，那就自己GOOGLE一下正则表达式吧。（本人开始是参考别人的配置猜的，竟然用对了，呵呵。后来还是看了一下相关资料，发现这东东很有用。）&lt;/p&gt; &lt;p&gt;第三步，加入模块配置（写在&amp;lt;system.web&amp;gt;里面）：&lt;br /&gt;如：&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;  &amp;lt;add verb="*" path="*.aspx" type="URLRewriter.RewriterFactoryHandler,  URLRewriter" /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/httpHandlers&amp;gt;&lt;br /&gt;（这里表示使用HTTP程序来处理重写）&lt;/p&gt; &lt;p&gt;好了，到了现在我们可以试一下看。&lt;/p&gt; &lt;p&gt;于是输入：&lt;a href="http://127.0.0.1:8080/Sell/1.aspx"&gt;http://127.0.0.1:8080/Sell/1.aspx&lt;/a&gt;&amp;nbsp;出现了，呵呵。但是如果所它改为：&lt;a href="http://127.0.0.1:8080/Sell/1.html"&gt;http://127.0.0.1:8080/Sell/1.html&lt;br /&gt;&lt;/a&gt;晕，发现不行。汗。。。&lt;br /&gt;呵呵，原因是没把HTML的解析用  asp.net&amp;nbsp; 的ISAPI来解析。&lt;br /&gt;办法是。。。&lt;/p&gt; &lt;p&gt;第四步，在IIS\你的站点\属性\主目录\配置\映谢 加入一个和 aspx  页面的配置相同的扩展名项。注意&amp;#8220;确认文件是否存在&amp;#8221;不要勾选，否则会出现找不到文件。&lt;/p&gt; &lt;p&gt;现在再来试试看。什么？#￥%#￥%#，还是不行。呵呵。不要急，咱们回过头再来看看，原来在 web.config 中我们没有配置 .html  也使用模块此解析。&lt;/p&gt; &lt;p&gt;第五步，在模块配置中加入：&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;httpHandlers&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add verb="*"  path="*.aspx" type="URLRewriter.RewriterFactoryHandler, URLRewriter"  /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;add verb="*" path="*.html"  type="URLRewriter.RewriterFactoryHandler, URLRewriter"  /&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;lt;/httpHandlers&amp;gt;&lt;/p&gt; &lt;p&gt;现在总可以了吧，呵呵。终于看到了，兴奋吧。不要急，这还只是最简单的。如果你的页面有回传。比如说放了DATAGRID，有分页的，你点到下一页就发现，晕倒，又出问题了。&lt;br /&gt;这下怎么办呢，这个其实微软件的网站上就有说到，我在这里简述一下了。&lt;/p&gt; &lt;p&gt;&lt;br /&gt;第六步，加入窗体回传保持的组件：&lt;br /&gt;在原来你下载的项目里找到 ActionlessForm.dll 放到你的项目 bin 目录下。&lt;/p&gt; &lt;p&gt;然后在你的这个页面中加入：&lt;br /&gt;&amp;lt;%@ Register TagPrefix="skm" Namespace="ActionlessForm"  Assembly="ActionlessForm" %&amp;gt;&lt;br /&gt;再把你的&amp;lt;Form...&amp;gt;改为：&lt;br /&gt;&amp;lt;skm:Form  id="你的表单名" method="post" runat="server"&amp;gt;&lt;br /&gt;.....&lt;br /&gt;&amp;lt;/skm:Form&amp;gt;&lt;/p&gt; &lt;p&gt;That's All.现在你可以高枕无忧了。一切如你所愿。&lt;/p&gt; &lt;p&gt;最后，恭祝各位一切顺利。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;img src="http://www.cnblogs.com/pegger/aggbug/2033280.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pegger/archive/2011/04/30/2033280.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pegger/archive/2010/11/15/1877431.html</id><title type="text">SQL SERVER 2000 数据库置疑处理办法。</title><summary type="text">1、首先备份好原来的数据库文件（Test_Data.mdf,Test_Log.ldf）。接着在企业管理器中重新建立SQLSERVER注册。如果是在本机，执行附加数据库无日志操作，执行后将自动重新建立一个数据库日志文件。[代码]2:如果日志文件丢失或者是从其它电脑上复制过来的数据库文件：A．我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise M...</summary><published>2010-11-15T02:25:00Z</published><updated>2010-11-15T02:25:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2010/11/15/1877431.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2010/11/15/1877431.html"/><content type="html">&lt;p&gt;1、首先备份好原来的数据库文件（Test_Data.mdf,Test_Log.ldf）。接着在企业管理器中重新建立SQLSERVER注册。&lt;/p&gt;&lt;p&gt;如果是在本机，执行&lt;span  style="font-family: verdana, sans-serif; "&gt;附加数据库无日志操作，执行后将自动重新建立一个数据库日志文件。&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;font  face="verdana, sans-serif"&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;font  face="verdana, sans-serif"&gt;&lt;span style="color: #0000FF;"&gt;exec&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;sp_attach_single_file_db&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;aa&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;D:\MSSQL\Data\Test_Data.mdf&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;2:如果日志文件丢失或者是从其它电脑上复制过来的数据库文件：&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;A．我们使用默认方式建立一个供恢复使用的数据库(如test)。可以在SQL Server Enterprise Manager里面建立。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;B．停掉数据库服务器。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;C．将刚才生成的数据库的日志文件test_log.ldf删除，用要恢复的数据库mdf文件覆盖刚才生成的数据库数据文件test_data.mdf。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;D．启动数据库服务器。此时会看到数据库test的状态为&amp;#8220;置疑&amp;#8221;。这时候不能对此数据库进行任何操作。&lt;br /&gt;&lt;/span&gt;&lt;font  face="verdana, sans-serif"&gt;E．设置数据库允许直接操作系统表。此操作可以在SQL Server Enterprise Manager里面选择数据库服务器，按右键，选择&amp;#8220;属性&amp;#8221;，在&amp;#8220;服务器设置&amp;#8221;页面中将&amp;#8220;允许对系统目录直接修改&amp;#8221;一项选中。也可以使用如下语句来实现。&lt;/font&gt;&lt;br /&gt;&lt;font  face="verdana, sans-serif"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000FF;"&gt;use&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;master&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;sp_configure&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;allow&amp;nbsp;updates&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;1&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;reconfigure&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;with&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;override&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;F．设置test为紧急修复模式&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000FF;"&gt;update&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;sysdatabases&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;set&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;status&lt;/span&gt;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;32768&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;where&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;dbid&lt;/span&gt;&lt;span style="color: #808080;"&gt;=&lt;/span&gt;&lt;span style="color: #FF00FF;"&gt;DB_ID&lt;/span&gt;&lt;span style="color: #000000;"&gt;(&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;test&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;此时可以在SQL Server Enterprise Manager里面看到该数据库处于&amp;#8220;只读\置疑\脱机\紧急模式&amp;#8221;可以看到数据库里面的表，但是仅仅有系统表&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;G．下面执行真正的恢复操作，重建数据库日志文件&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000FF;"&gt;dbcc&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;rebuild_log(&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;test&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;C:\Program&amp;nbsp;Files\Microsoft&amp;nbsp;SQL&amp;nbsp;Server\MSSQL\Data\test_log.ldf&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;执行过程中，如果遇到下列提示信息：&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;服务器: 消息 5030，级别 16，状态 1，行 1&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;未能排它地锁定数据库以执行该操作。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;DBCC 执行完毕。如果 DBCC 输出了错误信息，请与系统管理员联系。[brown][/i]&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;说明您的其他程序正在使用该数据库，如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表，那么退出SQL Server Enterprise Manager就可以了。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;正确执行完成的提示应该类似于：&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;警告: 数据库 'test' 的日志已重建。已失去事务的一致性。应运行 DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项，并且可能需要删除多余的日志文件。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;DBCC 执行完毕。如果 DBCC 输出了错误信息，请与系统管理员联系。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为&amp;#8220;只供DBO使用&amp;#8221;。此时可以访问数据库里面的用户表了。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;H．验证数据库一致性（可省略）&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000FF;"&gt;dbcc&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;checkdb(&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;test&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;一般执行结果如下：&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;CHECKDB 发现了 0 个分配错误和 0 个一致性错误（在数据库 'test' 中）。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;DBCC 执行完毕。如果 DBCC 输出了错误信息，请与系统管理员联系。&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;I．设置数据库为正常状态&lt;br /&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000;"&gt;sp_dboption&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;test&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;dbo&amp;nbsp;use&amp;nbsp;only&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;false&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;如果没有出错，那么恭喜，现在就可以正常的使用恢复后的数据库啦。&lt;/span&gt;&lt;span  style="font-family: verdana, sans-serif; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;font  face="verdana, sans-serif"&gt;J．最后一步，我们要将步骤E中设置的&amp;#8220;允许对系统目录直接修改&amp;#8221;一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然，我们可以在SQL Server Enterprise Manager里面恢复，也可以使用如下语句完成&lt;/font&gt;&lt;br /&gt;&lt;font  face="verdana, sans-serif"&gt;&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;"&gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #000000;"&gt;sp_configure&amp;nbsp;&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;allow&amp;nbsp;updates&lt;/span&gt;&lt;span style="color: #FF0000;"&gt;'&lt;/span&gt;&lt;span style="color: #000000;"&gt;,&lt;/span&gt;&lt;span style="color: #800000; font-weight: bold;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;reconfigure&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;with&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;override&lt;br /&gt;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;go&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/font&gt;&lt;img src="http://www.cnblogs.com/pegger/aggbug/1877431.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pegger/archive/2010/11/15/1877431.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pegger/archive/2010/11/12/1875717.html</id><title type="text">C# 网页自动点击超链接。</title><summary type="text">代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--&amp;gt;privatevoidAppraiseClick(){HtmlElementCollectionelementsByTagName=this.webBrowser1.Document.GetEleme...</summary><published>2010-11-12T07:10:00Z</published><updated>2010-11-12T07:10:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2010/11/12/1875717.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2010/11/12/1875717.html"/><content type="html">&lt;div style="background-color: #F5F5F5;border: 1px solid #CCCCCC;padding-left:5px;padding-right:5px;" onclick="cnblogs_code_show('088367d4-53a0-48c0-8642-8ab9c0644bb6')"&gt;&lt;img src="http://images.cnblogs.com/OutliningIndicators/ExpandedBlockStart.gif"  id="code_img_opened_088367d4-53a0-48c0-8642-8ab9c0644bb6" onclick="cnblogs_code_hide('088367d4-53a0-48c0-8642-8ab9c0644bb6',event)" style="display:none"&gt;&lt;div id="cnblogs_code_open_088367d4-53a0-48c0-8642-8ab9c0644bb6" &gt;&lt;div&gt;&lt;!--&lt;br/ /&gt;&lt;br/ /&gt;Code highlighting produced by Actipro CodeHighlighter (freeware)&lt;br/ /&gt;http://www.CodeHighlighter.com/&lt;br/ /&gt;&lt;br/ /&gt;--&gt;&lt;span style="color: #0000FF;"&gt;private&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;void&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;AppraiseClick()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HtmlElementCollection&amp;nbsp;elementsByTagName&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.webBrowser1.Document.GetElementsByTagName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;for&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;int&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800080;"&gt;0&lt;/span&gt;&lt;span style="color: #000000;"&gt;;&amp;nbsp;i&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;elementsByTagName.Count;&amp;nbsp;i&lt;/span&gt;&lt;span style="color: #000000;"&gt;++&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;HtmlElement&amp;nbsp;element&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;=&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;this&lt;/span&gt;&lt;span style="color: #000000;"&gt;.webBrowser1.Document.GetElementsByTagName(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;a&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)[i];&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #0000FF;"&gt;if&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;(element.OuterText&amp;nbsp;&lt;/span&gt;&lt;span style="color: #000000;"&gt;==&lt;/span&gt;&lt;span style="color: #000000;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;需要评价&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;element.InvokeMember(&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #800000;"&gt;click&lt;/span&gt;&lt;span style="color: #800000;"&gt;"&lt;/span&gt;&lt;span style="color: #000000;"&gt;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;}&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;table style="margin-bottom: 0px" cellspacing="0" cellpadding="0" width="100%"&gt;&lt;tbody&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;img src="http://www.cnblogs.com/pegger/aggbug/1875717.html?type=1" width="1" height="1" alt=""/&gt;&lt;p&gt;&lt;a href="http://www.cnblogs.com/pegger/archive/2010/11/12/1875717.html" target="_blank"&gt;本文链接&lt;/a&gt;&lt;/p&gt;</content></entry><entry><id>http://www.cnblogs.com/pegger/archive/2009/07/08/1518851.html</id><title type="text">c#判断一个文件是否是图片文件</title><summary type="text">1. 通过文件的扩展名来判断。这种方法比较简单， 但若是有人故意改下文件扩展名，这种方法就不起作用了。2.通过C#自身提供的方法来进行判断(判断某种确定的图片类型)。 [代码]3.通过读取文件内容来判断。 所有的图片文件都包括：文件识别头和图象数据两部分， 其中文件识别头用来让计算机判断是哪种文件 格式。 JPEG  所有的JPEG文件以字符串&amp;#8220;0xFFD8&amp;#8221;开头,并以字符...</summary><published>2009-07-08T00:57:00Z</published><updated>2009-07-08T00:57:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2009/07/08/1518851.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2009/07/08/1518851.html"/></entry><entry><id>http://www.cnblogs.com/pegger/archive/2009/06/10/1500316.html</id><title type="text">[转]用C#写个程序能识别有U盘插入</title><summary type="text">[代码]</summary><published>2009-06-10T04:23:00Z</published><updated>2009-06-10T04:23:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2009/06/10/1500316.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2009/06/10/1500316.html"/></entry><entry><id>http://www.cnblogs.com/pegger/archive/2009/05/11/1454312.html</id><title type="text">Visual Studio 中的部署添加自定义系统必备【转】</title><summary type="text">&amp;#8220;引导程序&amp;#8221;是一般安装程序，可配置为引导几乎所有打包为 Windows Installer 文件或可执行程序的可再发行组件。它通过一组简单的 XML 清单进行编程，该清单指定引导程序管理组件安装所需的所有元数据。引导程序不规定应用程序必须使用何种安装程序技术（Windows Installer 或 ClickOnce）。当用户启动 Setup.exe 时，它首先检测是否已安...</summary><published>2009-05-11T09:41:00Z</published><updated>2009-05-11T09:41:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2009/05/11/1454312.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2009/05/11/1454312.html"/></entry><entry><id>http://www.cnblogs.com/pegger/archive/2009/05/11/1454304.html</id><title type="text">VS2008-其他引导程序包(安装部署项目的系统必备)</title><summary type="text">其他引导程序包用来通过 Visual Studio 安装程序项目与 Clickonce 应用程序再发行组件您可以将这些程序包下载到您计算机上的 bootstrapper\packages 文件夹下。这些程序包会显示在先决条件对话框中。在程序包的下载页面中提供了其他说明。MDAC 2.81 引导程序包安装下载程序包（下载大小：92 KB）此程序包提供了数据访问技术，其中包括 ActiveX 数据对象...</summary><published>2009-05-11T09:32:00Z</published><updated>2009-05-11T09:32:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2009/05/11/1454304.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2009/05/11/1454304.html"/></entry><entry><id>http://www.cnblogs.com/pegger/archive/2009/02/18/1393052.html</id><title type="text">命令行添加用户的“作为服务登录”权利</title><summary type="text">1、打开控制台（&amp;#8220;开始&amp;#8221;|&amp;#8220;运行&amp;#8221;中输入：MMC）2、&amp;#8220;文件&amp;#8221;菜单|&amp;#8220;添加删除管理单元&amp;#8221;|&amp;#8220;添加...&amp;#8221;|选&amp;#8220;安全模板&amp;#8221;|&amp;#8220;关闭&amp;#8221;。3、在&amp;#8220;C:\Windows\Security\templates&amp;#8221;节点上，...</summary><published>2009-02-18T04:50:00Z</published><updated>2009-02-18T04:50:00Z</updated><author><name>pegger</name><uri>http://www.cnblogs.com/pegger/</uri></author><link rel="alternate" href="http://www.cnblogs.com/pegger/archive/2009/02/18/1393052.html"/><link rel="alternate" type="text/html" href="http://www.cnblogs.com/pegger/archive/2009/02/18/1393052.html"/></entry></feed>
