<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/">
<channel>
	<title>Loveyuki's BLOG - 学习笔记</title>
	<link>http://blog.loveyuki.com/Folder/Note/Index.aspx</link>
	<language>zh-CN</language>
	<webMaster>loveyuki@gmail.com(Loveyuki)</webMaster>
	<pubDate>Sun, 21 Oct 2007 08:07:39 GMT</pubDate>
	<copyright>Copyright 2007-2009. All rights reserved.</copyright>
	<generator>Bitrac Free Version</generator>
	<description>Bitrac，安全、轻巧、快速、易用的个人博客从此开始</description>
	<image>
		<title>Loveyuki&apos;s BLOG</title>
		<url>http://blog.loveyuki.com/Client/Banner.gif</url>
		<link>http://blog.loveyuki.com/</link>
		<description>Bitrac，安全、轻巧、快速、易用的个人博客从此开始</description>
	</image>
	<item>
		<link>http://blog.loveyuki.com/Article/sql-2008-r2-getsql.aspx</link>
		<title>SQL Server 2008 R2 将数据导出为脚本</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Wed, 14 Jul 2010 01:25:18 GMT</pubDate>
		<description>&lt;p&gt;SQL Server 2008 带的 Management Studio 生成脚本功能已经支持编写数据的脚本了，但是 2008 R2 里面找了半天没找到编写数据脚本的选项，后来仔细一看，原来藏这里了。&lt;/p&gt;&lt;p&gt;&lt;img width=&quot;471&quot; height=&quot;384&quot; src=&quot;http://blog.loveyuki.com/Attach/month_1007/gevboq_sql2008r2.png&quot; class=&quot;Image&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;相对于 2008 来说，更加了灵活了。想生成啥就生成啥。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/sql-2008-r2-getsql.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/183/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/sql-2008-r2-getsql.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/183/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/sqlserver-clr-splite-string.aspx</link>
		<title>SQL Server 2005+ 使用 CLR 来分割字符串</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Thu, 03 Jun 2010 03:33:19 GMT</pubDate>
		<description>&lt;p&gt;前两天我发了一个使用&amp;nbsp;CTE&amp;nbsp;分割字符串的方法，效率虽然比旧的 CHARINDEX&amp;nbsp;高一些，但是比起&amp;nbsp;CLR 速度还是差了很多，今天我就发下使用&amp;nbsp;CLR&amp;nbsp;来分割字符串的方法&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-c&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;class&lt;/span&gt;&lt;span&gt;&amp;nbsp;UserFunction&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;[SqlFunction(Name&amp;nbsp;=&amp;nbsp;&lt;span class=&quot;string&quot;&gt;&amp;quot;CLR_SplitStringToIntTable&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;TableDefinition&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;Id&amp;nbsp;INT&amp;quot;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;FillRowMethodName&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&amp;quot;FillRow&amp;quot;&lt;/span&gt;&lt;span&gt;)]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;IEnumerable&amp;nbsp;SplitStringToIntTable(SqlString&amp;nbsp;str)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;return&lt;/span&gt;&lt;span&gt;&amp;nbsp;str.Value.Split(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;new&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;char&lt;/span&gt;&lt;span&gt;[]&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;,&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;},&amp;nbsp;StringSplitOptions.RemoveEmptyEntries);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;public&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;static&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;void&lt;/span&gt;&lt;span&gt;&amp;nbsp;FillRow(&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;object&lt;/span&gt;&lt;span&gt;&amp;nbsp;row,&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;out&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;int&lt;/span&gt;&lt;span&gt;&amp;nbsp;id)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;=&amp;nbsp;Convert.ToInt32((&lt;span class=&quot;keyword&quot;&gt;string&lt;/span&gt;&lt;span&gt;)row);&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;}&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;把上面的&amp;nbsp;C# 代码编译后放到 SQL 服务器，然后到&amp;nbsp;SQL&amp;nbsp;管理器里面建立程序集，再建立一个新的函数&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-sql&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;CREATE&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;FUNCTION&lt;/span&gt;&lt;span&gt;&amp;nbsp;CLR_SplitStringToIntTable&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;(&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@Str&amp;nbsp;NVARCHAR(&lt;span class=&quot;keyword&quot;&gt;MAX&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;RETURNS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;TABLE&lt;/span&gt;&lt;span&gt;&amp;nbsp;(Id&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INT&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;EXTERNAL&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;NAME&lt;/span&gt;&lt;span&gt;&amp;nbsp;SQLServerCLR.UserFunction.SplitStringToIntTable;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;GO&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;效率对比我就不贴了，我这里提高的速度可不是一点。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/sqlserver-clr-splite-string.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/181/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/sqlserver-clr-splite-string.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/181/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/sqlserver-cte-splite-string.aspx</link>
		<title>SQL Server 2005+ 使用 CTE 分割字符串</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Fri, 28 May 2010 08:15:56 GMT</pubDate>
		<description>&lt;p&gt;记录一下，效率比旧的字符串分割效率高&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-sql&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;ALTER&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;FUNCTION&lt;/span&gt;&lt;span&gt;&amp;nbsp;[dbo].[UF_SpliteIntToTable]&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;(&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;@String&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;VARCHAR&lt;/span&gt;&lt;span&gt;(8000)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;RETURNS&lt;/span&gt;&lt;span&gt;&amp;nbsp;@&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Table&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;TABLE&lt;/span&gt;&lt;span&gt;&amp;nbsp;(Id&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INT&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;BEGIN&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;DECLARE&lt;/span&gt;&lt;span&gt;&amp;nbsp;@SpliteChar&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;CHAR&lt;/span&gt;&lt;span&gt;(1)&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;,&apos;&lt;/span&gt;&lt;span&gt;;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;WITH&lt;/span&gt;&lt;span&gt;&amp;nbsp;TempTable&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;(&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;SELECT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;CAST&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;SUBSTRING&lt;/span&gt;&lt;span&gt;(@String,1,CHARINDEX(@SpliteChar,@String,1)&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INT&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;item,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;func&quot;&gt;SUBSTRING&lt;/span&gt;&lt;span&gt;(@String,CHARINDEX(@SpliteChar,@String,1)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;LEN(@String))&amp;nbsp;+&amp;nbsp;@SpliteChar&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;list&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;UNION&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;op&quot;&gt;ALL&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;SELECT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;CAST&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;func&quot;&gt;SUBSTRING&lt;/span&gt;&lt;span&gt;(list,1,CHARINDEX(@SpliteChar,list,1)&amp;nbsp;-&amp;nbsp;1)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INT&lt;/span&gt;&lt;span&gt;)&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;item,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;func&quot;&gt;SUBSTRING&lt;/span&gt;&lt;span&gt;(list,CHARINDEX(@SpliteChar,list,1)&amp;nbsp;+&amp;nbsp;1,&amp;nbsp;LEN(list))&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;list&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;FROM&lt;/span&gt;&lt;span&gt;&amp;nbsp;TempTable&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;WHERE&lt;/span&gt;&lt;span&gt;&amp;nbsp;LEN(TempTable.list)&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;)&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;INSERT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INTO&lt;/span&gt;&lt;span&gt;&amp;nbsp;@&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;Table&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;SELECT&lt;/span&gt;&lt;span&gt;&amp;nbsp;item&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;FROM&lt;/span&gt;&lt;span&gt;&amp;nbsp;TempTable&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;WHERE&lt;/span&gt;&lt;span&gt;&amp;nbsp;item&amp;nbsp;&amp;gt;&amp;nbsp;0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;RETURN&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;END&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;</description>
		<guid>http://blog.loveyuki.com/Article/sqlserver-cte-splite-string.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/180/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/sqlserver-cte-splite-string.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/180/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/SQL-Server-Image-Files.aspx</link>
		<title>SQL Server 导入导出图片文件的一些记录</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Fri, 09 Apr 2010 09:19:25 GMT</pubDate>
		<description>&lt;p&gt;图片文件导入数据库用：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-sql&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;INSERT&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;INTO&lt;/span&gt;&lt;span&gt;&amp;nbsp;tblFiles(blob)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;SELECT&lt;/span&gt;&lt;span&gt;&amp;nbsp;*&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;keyword&quot;&gt;FROM&lt;/span&gt;&lt;span&gt;&amp;nbsp;OPENROWSET(BULK&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;D:\BakFile\sfile\1.png&apos;&lt;/span&gt;&lt;span&gt;,&amp;nbsp;SINGLE_BLOB)&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;span class=&quot;keyword&quot;&gt;AS&lt;/span&gt;&lt;span&gt;&amp;nbsp;tmpImage&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;数据库字段导出图片文件用：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-sql&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;bcp&amp;nbsp;&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;@sql&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;quot;SELECT&amp;nbsp;blob&amp;nbsp;FROM&amp;nbsp;SomeTestDB.dbo.tblFiles&amp;nbsp;WHERE&amp;nbsp;id=&amp;nbsp;1&amp;quot;&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;@sql&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;nbsp;queryout&amp;nbsp;&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;@sql&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;quot;D:\BakFile\tfile\1.png&amp;quot;&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&amp;nbsp;@sql&amp;nbsp;+&amp;nbsp;&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;&amp;nbsp;-T&amp;nbsp;-f&amp;nbsp;D:\BakFile\tfile\bcp.fmt&amp;nbsp;-S&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;exec&lt;/span&gt;&lt;span&gt;&amp;nbsp;master..xp_cmdshell&amp;nbsp;@sql&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;bcp.fmt 文件可以自动生成后进行定制修改：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-sql&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;SET&lt;/span&gt;&lt;span&gt;&amp;nbsp;@sql&amp;nbsp;=&lt;/span&gt;&lt;span class=&quot;string&quot;&gt;&apos;bcp&amp;nbsp;SomeTestDB.dbo.tblFiles&amp;nbsp;format&amp;nbsp;nul&amp;nbsp;-T&amp;nbsp;-N&amp;nbsp;&amp;nbsp;-f&amp;nbsp;D:\BakFile\tfile\bcp.fmt&apos;&lt;/span&gt;&lt;span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;&lt;span class=&quot;keyword&quot;&gt;exec&lt;/span&gt;&lt;span&gt;&amp;nbsp;master..xp_cmdshell&amp;nbsp;@sql&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;生成的文件如下：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;10.0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;2&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQLINT&amp;nbsp;&amp;nbsp;&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;4&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;id&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQLIMAGE&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;4&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;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;2&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;因为我们只导出 blob 字段为图片文件，所以修改为：&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-other&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;&lt;span&gt;10.0&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span&gt;1&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;span&gt;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;SQLIMAGE&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;0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;1&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;blob&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;quot;&amp;quot;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;具体大家可以看 MSDN 文档&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/SQL-Server-Image-Files.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/174/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/SQL-Server-Image-Files.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/174/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/Bitrac-In-Linux-Mono.aspx</link>
		<title>Linux 下跑 ASP.NET 性能还是不行啊</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Wed, 24 Jun 2009 07:24:13 GMT</pubDate>
		<description>&lt;p&gt;以前有朋友反馈过在 Mono 下无法运行 Bitrac，这两天测试 Bitrac 的兼容性的时候顺便也测试了一下 Bitrac 在 Mono 下的表现，系统嘛还是选择我最喜欢的 Archlinux，Web 服务器就用 Lighttpd 了，用 FastCGI-Mono-Server 来跑 Bitrac，&lt;a href=&quot;http://blog.loveyuki.com/Article/Archlinux_Lighttpd_FastCGI_Mono.aspx&quot;&gt;服务器的配置方法&lt;/a&gt;，我去年年初就发过了，这里就不再累赘。&lt;/p&gt;&lt;p&gt;装好服务器，传好 Bitrac，运行，哦也，错误。SQLite 库不行，到他主页一看哦，应该用可管理的那个库，而不是集成的库，换，再运行还是错误，这次是路径有错误了，唉，不规范代码害死人了，把所有不规范的代码都换了，然后把权限设置好，哈哈，成功运行，不过速度好慢啊，第一次启动时间竟然需要 3 秒，稳定运行后，每个页面都要 50 毫秒左右，性能比 IIS 下面要低两倍。看来用 Linux 跑 .NET 的应用还是很不现实啊。&lt;/p&gt;&lt;p&gt;另外就是 SQLite 数据库连接字符串的 Pooling=True 问题了，发现打开这个以后，会造成数据库文件被锁定，很容易出现错误，虽然开启那个选项可以提高两毫秒的速度，但是为了稳定性，还是关闭了吧。下个版本很快发布，到时候有兴趣和条件的朋友可以试试在 Mono 下跑 Bitrac 了。呵呵&lt;/p&gt;&lt;p&gt;另外就是有些朋友的主机无法运行自动运行程序，我考虑在自动更新功能里面加入本地自动更新功能，就是你在我这里下载自动更新包以后上传到你的服务器更新，一切为了方便嘛，哈哈。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/Bitrac-In-Linux-Mono.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/124/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/Bitrac-In-Linux-Mono.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/124/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/ArchLinux-FTP-Install-Virtualbox.aspx</link>
		<title>在 VirtualBox 中 FTP 安装 Archlinux</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Thu, 09 Apr 2009 07:02:40 GMT</pubDate>
		<description>&lt;p&gt;因为 VMware 太过于庞大以及 VMware-tools 对 Linux 新内核支持不够及时的问题，所以决定把自己的虚拟机平台转移到 VirtualBox 中。不过 VirtualBox 跟 VMware 的网络设置有比较大的区别，特别是默认的 NAT 联网方式，我在 FTP 安装 Archlinux 中就遇到了问题，ISO 启动后按照 VMware 的设置以后怎么都没法上网安装，真是让人头疼啊。查了 N 多资料，因为心烦意乱，怎么都找不到现成的解决方案。没办法只好根据现有资料自己解决了。&lt;/p&gt;&lt;p&gt;安装完了才发现 VirtualBox 2.2.0 有 Bridged 模式，这个模式跟 VMware 一样，跟主机是一个网段。&lt;/p&gt;&lt;p&gt;&lt;strike&gt;看了很多资料，明白了 VirtualBox 的 NAT 是自己实现了一个 DHCP 服务器，虚拟机需要使用 DHCP 才可以。不过 Archlinux 2009.02 的 FTP 安装盘有点小问题，DHCP 开启后无法设置正确的 DNS 服务器。所以需要手动设置一下。我们先按照一般的安装设置，然后到了 Select Packages 那步的时候先退出安装程序，然后运行下面的命令：&lt;/strike&gt;&lt;/p&gt;&lt;pre&gt;&lt;ol class=&quot;dp-xml&quot;&gt;&lt;li class=&quot;alt&quot;&gt;&lt;strike&gt;&lt;span&gt;&lt;span&gt;killall&amp;nbsp;dhcpcd &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;&lt;span&gt;ifconfig&amp;nbsp;eth0&amp;nbsp;down &amp;nbsp;&lt;/span&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li class=&quot;alt&quot;&gt;&lt;strike&gt;&lt;span&gt;ifconfig&amp;nbsp;eth0&amp;nbsp;up &amp;nbsp;&lt;/span&gt;&lt;/strike&gt;&lt;/li&gt;&lt;li&gt;&lt;strike&gt;&lt;span&gt;dhcpcd&amp;nbsp;eth0&amp;nbsp;&lt;/span&gt;&lt;/strike&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/pre&gt;&lt;p&gt;&lt;strike&gt;运行完以后，再修改 /etc/resolv.conf，把 DNS 服务器设置为 10.0.2.3 保存退出后 PING 一下 Google 看能否 PING 通，如果可以 PING 通。那么继续 /arch/setup 安装吧。&lt;/strike&gt;&lt;/p&gt;&lt;p&gt;&lt;strike&gt;郁闷，选了网易的源，速度也不怎么快啊……&lt;/strike&gt;&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/ArchLinux-FTP-Install-Virtualbox.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/113/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/ArchLinux-FTP-Install-Virtualbox.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/113/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/RegexOptions_Compiled_DotNet.aspx</link>
		<title>.NET 2.0 中慎用 RegexOptions.Compiled</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Thu, 13 Mar 2008 14:59:12 GMT</pubDate>
		<description>&lt;p&gt;Bitrac 一直以来都有一个很头疼的问题，就是执行时间竟然有 300 多毫秒，虽然感官上速度并不是很明显的慢，但是看到 300 毫秒的时间还是让我这个开发者头疼，以前写 L-BLOG 执行时间也才是 100 毫秒左右而已，.NET 不会比 ASP 速度更慢的，因为以前写 Geekera 的时候执行时间只有 30 毫秒而已。用 JetBrains dotTrace 跟踪了一下程序的执行发现 URLRewrite 和 模板引擎的正则速度超级慢，一直以来也没想出哪里出了问题。今天试着把正则的 RegexOptions.Compiled 选项去掉以后，发现正则的速度提高了好多好多，上 MSDN 看了下 RegexOptions.Compiled 的选项意思，写的也很明白：&lt;b&gt;指定将正则表达式编译为程序集。这会产生更快的执行速度，但会增加启动时间。&lt;/b&gt;但是具体啥意思还真没弄明白，后来用 Google 搜索了一下，看到一篇文章：&lt;a href=&quot;http://blog.livid.cn/zackzhu/200711/thinking/17_395.html&quot; target=&quot;_blank&quot;&gt;http://blog.livid.cn/zackzhu/200711/thinking/17_395.html&lt;/a&gt; 终于弄明白了这个选项的具体意思。&lt;/p&gt;&lt;p&gt;Bitrac 现在最头疼的问题已经解决了，心情那个舒服啊。另外还有一个小问题就是有时候第一次启动会报错误，看错误日志是个数据库文件 IO 方面的错误，估计跟数据库文件的锁定有关系，有机会查查资料，看到底是什么问题。这个问题出现后，一般刷新一下就可以了……真奇怪。&lt;/p&gt;&lt;p&gt;如果你遇到同样的问题，希望这篇文章能带给你些许帮助，如果你有更好的方法或者解释，希望留言告诉我。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/RegexOptions_Compiled_DotNet.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/56/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/RegexOptions_Compiled_DotNet.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/56/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/UBB_Editor_VS_HTML_Editor.aspx</link>
		<title>UBB 编辑器和 HTML 可视化编辑器的利弊</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Fri, 22 Feb 2008 10:00:01 GMT</pubDate>
		<description>&lt;p&gt;两年前，基本所有的论坛和博客程序都是使用 UBB 编辑器的，但是&amp;nbsp;UBB 编辑器的缺点很明显，无法马上看到自己写的日志的样子，要调整起来也不是那么容易，而且各种程序的 UBB 解析器不同所实现的功能也不全一样。不过 UBB 的好处也很明显，程序对内容的控制力十分强大，开发起来也很容易。&lt;/p&gt;&lt;p&gt;鉴于 UBB 的缺点很明显，所以近两年都在努力发展 HTML 可视化编辑器(也叫所见即所得编辑器)，可视化编辑器的缺点和优点也同样明显，HTML 可视化编辑器的优点就如他的名字一样，所见即所得，可视化，使用者可以在编辑内容的同时就看到内容所呈现的样式，不过 HTML 可视化编辑器的缺点也非常明显，程序对内容的控制力远不如 UBB 编辑器。由于 XSS 攻击以及 HTML 标签必须闭合的特性，如果要使用 HTML 可视化编辑器必须要有一个强大的后台过滤功能，否则 HTML 编辑器带来的只能是噩梦，而不是便利。&lt;/p&gt;&lt;p&gt;特希望 Internet Explorer，Mozilla Firefox，Apple Safari 还有 Opera 等浏览器可以内置一个可视化编辑器。FCKeditor 就不错，兼容性很强，不过体积嘛就有点巨大了。&lt;/p&gt;&lt;p&gt;前几天小写了一个可视化编辑器，就是现在的评论编辑器，感觉 Internet Explorer 的优势还是很明显的，光光标定位和分段问题 Firefox 就让人很头疼。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/UBB_Editor_VS_HTML_Editor.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/50/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/UBB_Editor_VS_HTML_Editor.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/50/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/Custom_Firefox_Disk_CacheDir.aspx</link>
		<title>[收集]自定义 Firefox 的磁盘缓存目录</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Fri, 18 Jan 2008 07:46:44 GMT</pubDate>
		<description>&lt;p&gt;在 Firefox 地址栏输入 about:cache 以后可以看到 Firefox 的默认磁盘缓存目录是在 Windows 用户配置文件夹里面，我们可以通过很简单的设置把磁盘缓存目录放入其他目录：&lt;/p&gt;&lt;ol&gt;&lt;li&gt;地址栏输入 about:config&lt;/li&gt;&lt;li&gt;右键新建一个字符串，名为 browser.cache.disk.parent_directory &lt;br /&gt; 然后输入新的临时文件的路径即可。比如&amp;nbsp; D:\Temporary Internet Files&lt;/li&gt;&lt;li&gt;检查 browser.cache.disk.enable，这个必须要设定为 true&lt;/li&gt;&lt;li&gt;地址栏输入 about:cache，可以看到缓存目录已经改变了。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;个人还是建议使用 Portable Firefox。&lt;img class=&quot;Smile&quot; src=&quot;http://blog.loveyuki.com/Client/Smiles/glade.gif&quot; /&gt;&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/Custom_Firefox_Disk_CacheDir.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/37/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/Custom_Firefox_Disk_CacheDir.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/37/Feeds.ashx</wfw:commentRss>
	</item>
	<item>
		<link>http://blog.loveyuki.com/Article/SATA_Remove_Hardware.aspx</link>
		<title>[转载]去除SATA硬盘的删除可移动硬件标志方法</title>
		<author>loveyuki@gmail.com()</author>
		<category>学习笔记</category>
		<pubDate>Fri, 18 Jan 2008 03:18:33 GMT</pubDate>
		<description>&lt;p&gt;如果您的电脑使用的是 nForce 芯片组的主板和串口硬盘。在系统中安装好所有的硬件驱动程序后，发现在任务栏右下角始终会显示一个“安全删除硬件”的图标。这是 nForce 芯片组在安装了 IDE-SW 主板驱动以后，系统会把 SATA 硬盘识别为可移动设备，每次开机后都会显示“安全删除硬件”图标。&lt;br /&gt;&lt;img height=&quot;63&quot; width=&quot;442&quot; class=&quot;PictureSize&quot; src=&quot;http://blog.loveyuki.com/Attach/month_0801/dsg7mw_SATAUPNP.gif&quot; /&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;点开始--&amp;gt;运行--&amp;gt; regedit&lt;/li&gt;&lt;li&gt;找到键值 (电脑应该只有下面的其中一个） &lt;br /&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvata&lt;/strong&gt;&lt;br /&gt;或&lt;br /&gt;&lt;strong&gt;HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\nvatabus&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;新增一个 DWORD 值，名称取名叫 DisableRemovable，值设为1&lt;/li&gt;&lt;li&gt;重启以后 SATA 硬碟就不会变成可以移除设备了。&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;使用后没有后遗症，打印机、鼠标、U盘、移动硬盘等都可正常使用。&lt;/p&gt;</description>
		<guid>http://blog.loveyuki.com/Article/SATA_Remove_Hardware.aspx</guid>
		<trackback:ping>http://blog.loveyuki.com/Article/36/Trackback.ashx</trackback:ping>
		<comments>http://blog.loveyuki.com/Article/SATA_Remove_Hardware.aspx#CommentPostAnchor</comments>
		<wfw:commentRss>http://blog.loveyuki.com/Article/36/Feeds.ashx</wfw:commentRss>
	</item>
</channel>
</rss>