﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>博客园-RubyPdf 的中文博客</title><link>http://www.cnblogs.com/hardrock/</link><description>专注PDF技术</description><language>zh-cn</language><lastBuildDate>Sun, 05 Jul 2009 23:37:55 GMT</lastBuildDate><pubDate>Sun, 05 Jul 2009 23:37:55 GMT</pubDate><ttl>60</ttl><item><title>Google Voice开始发送邀请函</title><link>http://www.cnblogs.com/hardrock/archive/2009/06/27/1512240.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Sat, 27 Jun 2009 06:24:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/06/27/1512240.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1512240.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/06/27/1512240.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1512240.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1512240.html</trackback:ping><description><![CDATA[<p> 今天收到了Google Voice的邀请函，标题为&#8220;You've been invited to Google Voice&#8221;。</p><p>最近关于Google Voice 的新闻不少，出于好奇登录http://www.google.com/voice 递交了申请，没有想到这么快得到了邀请函。<br /></p><p>邮件特别强调&#8220; Please note that Google Voice is only available for sign up in the US.&#8221;（请注意，Google Voice 只能在美国申请）。</p><p>点击邮件提供的链接，按照提示逐步申请，可以根据自己喜好选择电话号码。需要注意的是你需要一个美国电话号码来激活Google Voice，这可怎么办？ 还好我很久之前就知道可以通过申请Gizmo5 来获得一个美国电话号码，然后利用这个号码来激活Google Voice（当然那时还叫GrandCentra)。</p><p>另外Google Voice在twitter也有自己的帐号， http://twitter.com/googlevoice, 可以到那里了解最新动态。<br /></p><img src ="http://www.cnblogs.com/hardrock/aggbug/1512240.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47989/" target="_blank">Twitter无处不在 魔兽世界Twitter发送器插件发布</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>ASP.NET空间使用SQLite遇到的麻烦</title><link>http://www.cnblogs.com/hardrock/archive/2009/03/12/1410101.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Thu, 12 Mar 2009 15:57:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/03/12/1410101.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1410101.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/03/12/1410101.html#Feedback</comments><slash:comments>12</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1410101.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1410101.html</trackback:ping><description><![CDATA[<p>&#160;&#160; &#160; 曾经在自己的ASP.NET空间上安装过一个基于SQLite的开源CMS-Eucalypto&#160;，很顺利。&#160;&#160; &#160;&#160;</p>
<p>&#160;&#160; &#160; 这次客户的系统，由于客户端的数据库使用了SQLite，客户希望把整理好的数据放到网上方便各offer查询，因为只保留3个月的数据，而且只提供查询功能，SQLite应该够用，而且这样我不用再做太多修改了。客户购买的是Godaddy的ASP.NET hosting， 上传后遇到麻烦了，</p>
<p><span style="color: #001100; font-family: Tahoma; font-size: 11px; letter-spacing: 1px; line-height: 14px; "><strong>Parser Error Message</strong>: Could not load file or assembly &#8216;System.Data.SQLite, Version=1.0.51.0, Culture=neutral, PublicKeyToken=db937bc2d44ff139&#8242; or one of its dependencies. Failed to grant minimum permission requests. (Exception from HRESULT: 0&#215;80131417)</span></p>
<p><font color="#001100" face="Tahoma" size="3"><span style="font-size: 11px; letter-spacing: 1px; line-height: 14px;"><span style="color: #000000; font-family: verdana; font-size: 14px; letter-spacing: normal; line-height: 21px; ">&#160;&#160; &#160; &#160;一开始没有反应过来，跑到网上搜索答案，原来是System.Data.SQlite是对dynamic library sqlite.dll的封装，出于安全考虑Godday只允许使用manged code library。 很无奈，我还是得考虑使用别的数据库了。</span></span></font></p>
<p>&#160;&#160; &#160; &#160;网上很多资料对SQLite的评价很高，尤其是和MS Access对比，这次却遇到了个大麻烦，几乎所有的ASP或者ASP.NEThosting都支持MS Access，但SQLite呢？</p>
<p>&#160;&#160; &#160; &#160;不过网上也有一个managed code version SQLite.dll--<span style="color: #001100; font-family: Tahoma; font-size: 11px; letter-spacing: 1px; line-height: 14px; "><a href="http://code.google.com/p/managed-sqlite/" target="_blank" style="color: #586d16; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #9ac025; ">ManagedSQLite</a><span style="color: #000000; font-family: verdana; font-size: 14px; letter-spacing: normal; line-height: 21px; ">，也许必须在ASP.NET hosting使用SQLite的朋友可以尝试下，由于时间的关系，暂时还没有做过测试。</span></span></p>
<p>&#160;&#160; &#160; &#160;这里顺便扯点题外话，在.net商业组件领域有个名气很响的外国企业（老板是中国人，开发团队也在中国）的一个组件中的某几个功能的实现就用到了基于GPL协议和商业协议（价格很贵）的exe程序改的dynamic library（有些拗口），但却说是100% managed library， 而且刻意对那个非.net library进行了伪装，我曾经和他们的管理人员聊过这个话题，他们对我警惕性很高，怀疑我是敌方派来的，我无意揭发他们，只是提他们担心纸能否保住火。</p>
<p><br />
</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1410101.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47988/" target="_blank">Firefox 3.5匆忙推出漏洞多 Mozilla本月将更新</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>PDF数字签名免安装版本发布－Portable PDF Digital Signature（Portable PDF Signer）</title><link>http://www.cnblogs.com/hardrock/archive/2009/03/04/1403291.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Wed, 04 Mar 2009 10:31:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/03/04/1403291.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1403291.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/03/04/1403291.html#Feedback</comments><slash:comments>19</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1403291.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1403291.html</trackback:ping><description><![CDATA[<p><span  style="font-family: 'lucida grande'; font-size: 13px; line-height: normal; white-space: pre; "><strong>Portable PDF Signer</strong>是</span>一款实现PDF文档数字签名功能的免费绿色软件。</p>
<p>主要特色如下：&nbsp;</p>
<p>
<ul>
    <li>实现<strong>Adobe Acrobat </strong>的数字签名功能，但不需要Adobe Acrobat；</li>
    <li>免费软件(Free Soft)；</li>
    <li>免安装软件（<strong>Portable Software</strong>，绿色软件，不修改注册表），因此你可以把它放在你的移动硬盘上。</li>
    <li>使用.NET开发，但不需要.net Framework（MS或者MONO）；</li>
    <li>使用了MONO的<span  style="line-height: 25px; color: #494949; "><strong>静态编译(Static compilation)</strong>技术；</span></li>
    <li><span  style="line-height: 25px; color: #494949; ">支持对一个PDF进行<strong>多重</strong><strong>签名</strong>（<strong>mulitply signature</strong>）；</span></li>
</ul>
</p>
<p><font  color="#494949"><span  style="line-height: 25px;">感兴趣的可以到<a href="http://rubypdf.com/softwares/pdf-digital-signe"><strong>RubyPdf Software</strong></a>下载。</span></font></p>
<p><font  color="#494949"><span  style="line-height: 25px;">P.S.<br />
</span></font>择日会发布一个支持<strong>时间戳</strong>加<strong>数字签名</strong>的<strong>PDF 时间戳数字签名</strong>(姑且叫它<strong>PDF Timestamp signer</strong>)软件，这是我2007年完成的一个小项目，详情请看：</p>
<p><span  style="font-family: Arial; font-size: 15px; line-height: normal; color: #001100; font-weight: bold; letter-spacing: 1px; "><a href="http://blog.rubypdf.com/2007/08/22/digital-signature-and-timestamp-to-pdf-documents-with-itextsharp/" rel="bookmark" title="Permanent Link: Digital Signature and Timestamp to PDF Documents with iTextSharp" style="color: #586d16; text-decoration: none; border-bottom-width: 1px; border-bottom-style: dashed; border-bottom-color: #9ac025; ">Digital Signature and Timestamp to PDF Documents with iTextSharp</a></span></p><img src ="http://www.cnblogs.com/hardrock/aggbug/1403291.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47987/" target="_blank">预测：Twitter最可能收购的十家公司</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Dreamhost 开始提供免费空间了</title><link>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391087.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Sun, 15 Feb 2009 12:58:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391087.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1391087.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391087.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1391087.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1391087.html</trackback:ping><description><![CDATA[<p>当然是支持PHP+MySql的。支持使用自己的域名和Dreamhost的二级域名。</p>
<p>有兴趣的可以到<a href="http://www.dreamhostapps.com/">http://www.dreamhostapps.com/</a>申请。我有自己付费空间，所以没有尝试这个空间。</p>
<p>支持One Click式安装的程序有：</p>
<p><span  style="color: #001100; font-family: Tahoma; font-size: 11px; letter-spacing: 1px; line-height: 14px; ">
<ul>
    <li><strong>WordPress</strong></li>
    <li><strong>Drupal</strong></li>
    <li><strong>ZenPhoto</strong></li>
    <li><strong>phpBB</strong></li>
    <li><strong>MediaWik</strong>i<br />
    <br />
    </li>
</ul>
</span></p><img src ="http://www.cnblogs.com/hardrock/aggbug/1391087.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>SQLite Manager</title><link>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391084.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Sun, 15 Feb 2009 12:45:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391084.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1391084.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391084.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1391084.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1391084.html</trackback:ping><description><![CDATA[<p><strong><a href="http://code.google.com/p/sqlite-manager/" title="Extension for Firefox and other apps to manage any sqlite database" target="_blank">SQLite Manager</a><span  style="font-weight: normal; ">&#160;是一个开源的SQLite管理工具，可以作为firefox, thunderbird, sunbird, seamonkey, songbird, komodo, flock等的插件，也可以作为独立程序（XULRunner application)。</span></strong></p>
<p>
<h3><a name="Features">Features</a></h3>
<ul>
    <li><a name="Features">dialogs for creation, deletion of tables, indexes, views and triggers </a></li>
    <li><a name="Features">ability to rename, copy, reindex tables </a></li>
    <li><a name="Features">ability to add and drop columns </a></li>
    <li><a name="Features">create new db, open any existing db, copy an existing db </a></li>
    <li><a name="Features">supports writing your own queries (single or multiple) </a></li>
    <li><a name="Features">supports saving the queries with a name </a></li>
    <li><a name="Features">a tab for database settings (no need to write the pragma statements) where you can view and change the sqlite library settings </a></li>
    <li><a name="Features">export tables/views as csv, sql or xml files </a></li>
    <li><a name="Features">import tables from csv, sql or xml files </a></li>
    <li><a name="Features">a dropdown menu showing all profile db (.sqlite) </a></li>
    <li><a name="Features">an intuitive heirarchical tree showing all tables, indexes, views and triggers </a></li>
    <li><a name="Features">ability to see the master tables </a></li>
    <li><a name="Features">ability to see the temporary tables, indexes, views and triggers </a></li>
    <li><a name="Features">ability to browse data from any table/view </a></li>
    <li><a name="Features">dialogs to allow searching in a table/view </a></li>
    <li><a name="Features">allows editing and deleting selected record while browsing a table's data </a></li>
    <li><a name="Features">allows adding, saving and changing blob data </a></li>
    <li><a name="Features">an extensive menu that helps with writing sql by hand and then executing it </a></li>
    <li><a name="Features">remembers the last used db, table and the tab (structure, browse &amp; search, etc.) across sessions<br />
    &#160;</a></li>
</ul>
</p>
<p><br />
</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1391084.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Sqlite使用中的几点体会。</title><link>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391079.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Sun, 15 Feb 2009 12:34:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391079.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1391079.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391079.html#Feedback</comments><slash:comments>36</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1391079.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1391079.html</trackback:ping><description><![CDATA[<p>最近接了个美国的小项目，主要需求是把盘点机导出的数据（DBF格式）和另外的数据（csv格式）合并生成新的数据表，方便查询纠错。对方没有安装ms Access,考虑到对方使用方便，就采用了sqlite，开发语言使用.net 2.0。 下面简单罗列下用过程中的几点体会。</p>
<p><strong>Provider</strong>:通过使用其他开源软件的体会和网上搜索，Provider决定使用<a href="http://sqlite.phxsoftware.com/">System.Data.SQLite</a>。</p>
<p>&#160;</p>
<p><strong>事务（DbTransaction）</strong>：因为涉及数据导入合并，批量插入和更新等工作是必须的了，一开始没有显式调用事务，速度别提多慢，于是想当然觉得sqlite速度比access还慢，后来搜索发现，原来<span style="color: #333333; font-family: Arial; line-height: 25px; ">SQLite 缺省为每个操作启动一个事务，其实这是数据库操作的基本常识，不仅仅Sqlite需要注意这些，当然Access等不支持事务的不在此列。</span></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px;"><strong>索引（index）</strong>：数据导入合并，插入和更新时都需要查询数据是否有重复以及存在，所以索引是不可以缺少的。</span></font></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px; "><strong>S</strong></span><span style="line-height: 25px;"><strong>QLiteParameter</strong>：批量插入的时候，为了省懒事，使用string.format来格式化插入，结果碰到&#8220;<span style="color: #000000; font-size: 13px; line-height: 21px; ">near "s": syntex error.<span style="color: #333333; font-size: 14px; line-height: 25px; ">&#8221;，经过跟踪，原来是单引号(')的问题，看来还是乖乖使用<span style="line-height: 21px; "><span style="line-height: 25px; ">S</span><span style="line-height: 25px; ">QLiteParameter来规范地导入，并可以避免很多字符上的问题。</span></span></span></span></span></font></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px;"><strong>Update ...From（Cross Join in Update）</strong>：Sqlite 不支持类似</span></font></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px;">&#8220;<span style="border-collapse: collapse; color: #000000; line-height: 18px; "><span style="font-family: Consolas; white-space: pre; "><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">UPDATE tbl1 SET col2 </span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">=</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; "> tbl2</span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">.</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">col2 <br />
</span></span></span><span style="border-collapse: collapse; color: #000000; font-family: Consolas; line-height: 18px; white-space: pre; "><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">FROM table1 tbl1 INNER JOIN table2 tbl2 ON tbl1</span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">.</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">col1 </span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">=</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; "> tbl2</span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">.</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; background-position: initial initial; ">col1</span></span>&#8221;</span></font></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px;">的update，替代的解决办法是:</span></font></p>
<p><font color="#333333" face="Arial"><span style="line-height: 25px;"><span style="border-collapse: collapse; color: #000000; font-family: Consolas; line-height: 18px; white-space: pre; "><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; ">UPDATE table1 SET col2 </span><span class="pun" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; ">=</span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; "> (select </span><span class="pln" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 100%; vertical-align: baseline; background-image: initial; background-repeat: initial; background-attachment: initial; background-color: transparent; color: black; ">col2 from table2 where table2.col1=table1.col1 limit 1)</span></span></span></font></p>
<p><font face="Consolas"><span style="border-collapse: collapse; line-height: 18px; white-space: pre;">where exists(select * from table2 where table2.col1=table1.col1);<span style="border-collapse: separate; font-family: verdana; line-height: 21px; white-space: normal; ">&#160;</span></span></font></p>
<p>查询分析器：我选择<a href="http://sqliteadmin.orbmu2k.de/">SQLite Administrator</a>，后来发现Firefox的插件(addons) <a href="http://code.google.com/p/sqlite-manager/">Sqlite Manager</a>也是不错的选择。</p>
<p>下面顺便列些和DotNet开发的和SQLite有关的项目：</p>
<p><a href="http://www.codeproject.com/KB/database/convsqlservertosqlite.aspx" target="_blank">Convert SQL Server DB to SQLite DB</a>：C# utility to automatically do the conversion from SQL Server DB to SQLite DB（一个把ms SQL Server数据库自动转为SQLite DB的工具，包括源代码）。</p>
<p> <a href="http://www.codeproject.com/KB/aspnet/SQLite-Providers.aspx">SQLite Membership, Role, and Profile Providers</a>：Complete,
production-ready Membership, Role, and Profile providers for SQLite.
Includes instructions for migrating data between SQL Server and SQLite.</p>
<p><br />
</p>
<p><br />
</p>
<p><br />
</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1391079.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>Thinkpad T60 Fan Error及重新启动windows后画面静止</title><link>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391021.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Sun, 15 Feb 2009 10:16:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391021.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1391021.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2009/02/15/1391021.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1391021.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1391021.html</trackback:ping><description><![CDATA[<p>&#160;&#160; &#160; 使用了2年的T60（2007-D64）上星期四罢工了，开机风扇噪音非常大，然后没有声音，屏幕显示&#8221;Fan error&#8220;，尝试几次都无法成功启动。QQ上咨询卖水货笔记本的，说风扇坏了，要换，400元，这么贵？</p>
<p>&#160;&#160; &#160;心疼400大洋，加上网上搜索说这种问题一般是风扇缺油，决定自己动手试下。楼下修车师傅要了些清洁的机油，第一次拆笔记本，找来<a href="http://hi.baidu.com/ran_shen/blog/item/d796a4179fe16e0cc93d6d91.html" title="IBM T60拆机风扇噪音解决办法(图解）" target="_blank">图解教程</a>按照图片一步步操作，顺利拆下风扇，清理干净，放了2滴机油，安装上去，开机，连以前经常听到的有些吵的风扇的声音都没有了，真安静，看到了开机画面（鄙视奸商）。</p>
<p>&#160;&#160; &#160;接下来的另外一个问题有出现了，因为我一直使用休眠模式，当看到重新启动windows时，进度条没有了任何动作，尝试几次无效；想这下系统没有希望了，可又不像重新安装系统，继续找解决办法。</p>
<p>&#160;&#160; &#160;印象中休眠模式会保存一个系统文件，网上确认下叫&#8221;hiberfil.sys&#8220;（hibernate file)的隐藏文件，使用超级Dos启动盘，发现的确有这么个文件，几经折腾(超级DOS启动盘下似乎那隐藏文件没有办法，把硬盘拔下来当移动硬盘挂到另外的电脑上），把那个文件的名字改掉，重新启动，这次是全新启动Windows XP，成功了。</p>
<p>&#160;&#160; &#160;心得：提防奸商；自动动手，笔记本维修也没有那么难；碰到系统问题不要总想着重装，因为那太浪费时间，还把自己熟悉的环境给改了。</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1391021.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47986/" target="_blank">网易澄清:与暴雪合资公司仅提供技术支持</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>PdfCrypt 1.0 for Windows 发布</title><link>http://www.cnblogs.com/hardrock/archive/2008/11/19/1336456.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Wed, 19 Nov 2008 02:29:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2008/11/19/1336456.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1336456.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2008/11/19/1336456.html#Feedback</comments><slash:comments>18</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1336456.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1336456.html</trackback:ping><description><![CDATA[<p>PdfCrypt 是一个<strong>免费的</strong>命令行模式的<strong>PDF 加密和解密</strong>（PDF Encrypt/Decrypt)软件，支持48 bits， 128 bits 和AES-128加密以及解密。</p>
<p>更多信息请访问 <a title="Free PDF Encrypt &amp; Decrypt software." href="http://blog.rubypdf.com/2008/11/18/pdfcrypt-another-free-pdf-encrypt-and-decrypt-software/">PdfCrypt - Another Free Pdf Encrypt and Decrypt Software</a></p>
<p>配合PdfCrack， 可以去除Owner Password 加密的PDF</p>
<p>PdfCrypt 可以去除User Password加密的PDF而不需要知道User Password</p>
<p><br />
</p>
<p>目前已知问题，不支持中文路径，这个会在下一个版本中实现中文路径的支持。 <br />
</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1336456.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47985/" target="_blank">杰克逊悼念仪式或成史上最大规模Web活动</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>XMP Remover：批量删除PDF 文档的XMP data</title><link>http://www.cnblogs.com/hardrock/archive/2008/10/21/1315664.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Tue, 21 Oct 2008 02:08:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2008/10/21/1315664.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1315664.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2008/10/21/1315664.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1315664.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1315664.html</trackback:ping><description><![CDATA[<p>应客户的要求，利用Acrobat API写了一个批量删除PDF 文档中XMP的小工具。</p>
<p>Acrobat 支持删除XMP信息，但必须一个节点一个节点删除，一个文件一个文件删除，非常麻烦，利用<span style="font-family: 'lucida grande'; font-size: 13px; white-space: pre; "><strong>XMP Remover</strong></span>可以可以快速删除指定目录下所有PDF 文档的XMP信息。</p>
<p>P.S.</p>
<p>Adobe XMP（可扩展元数据平台，Adobe's Extensible Metadata Platform）是一种标签技术，可以帮助用户将文件信息(元数据）添加到以 PNG、GIF、JPEG、Photoshop、TIFF 和PDF等格式保存的文件中。XMP 为 Adobe 应用程序间的元数据交换提供了便利。例如，用户可以将一个文件中的元数据另存为模板，然后将元数据导入到其它文件中。&#160;主要用于工作流中重要信息的传递工作。</p>
<p>Adobe's Extensible Metadata Platform (XMP) is a labeling technology
that allows you to embed data about a file, known as metadata, into the
file itself. With XMP, desktop applications and back-end publishing
systems gain a common method for capturing, sharing, and leveraging
this valuable metadata — opening the door for more efficient job
processing, workflow automation, and rights management, among many
other possibilities. With XMP, Adobe has taken the "heavy lifting" out
of metadata integration, offering content creators an easy way to embed
meaningful information about their projects and providing industry
partners with standards-based building blocks to develop optimized
workflow solutions.&#160;</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1315664.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47984/" target="_blank">《商业周刊》:Mozilla的志愿者开发模式被复制</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item><item><title>软件正版化要靠政府，不能靠国产软件</title><link>http://www.cnblogs.com/hardrock/archive/2008/10/20/1314861.html</link><dc:creator>RubyPDF</dc:creator><author>RubyPDF</author><pubDate>Mon, 20 Oct 2008 02:26:00 GMT</pubDate><guid>http://www.cnblogs.com/hardrock/archive/2008/10/20/1314861.html</guid><wfw:comment>http://www.cnblogs.com/hardrock/comments/1314861.html</wfw:comment><comments>http://www.cnblogs.com/hardrock/archive/2008/10/20/1314861.html#Feedback</comments><slash:comments>26</slash:comments><wfw:commentRss>http://www.cnblogs.com/hardrock/comments/commentRss/1314861.html</wfw:commentRss><trackback:ping>http://www.cnblogs.com/hardrock/services/trackbacks/1314861.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 政府如果不用永中Office，金山Office，就别指望企业和个人用，因为毕竟和微软的Office不能百分百兼容，政府部门如果都必须使用linux，使用Openoffice，看还有多少企业继续使用Windows以及MS Office。<br />
<p>所以政府部门要担当起主要的责任，不要指望老百姓。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 如果只是为了省钱，直接用OpenOffice.org好了，这个总比永中Office个人版，金山Office个人版强大多了，OpenOffice3还支持Ms Office2007的格式。</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 市场让老百姓没有太多的取舍，比如某人想应聘文员，但告诉面试官说自己不熟悉Windows 和Ms Office，但很熟悉Ubuntu和Open Office，你说她成功的可能性多大？比如我们给政府做的项目需要用MS Office组件，但我们只安装了永中Office，难道我们要跟领导说，我们用国产软件，所以你要的功能我们可以通过永中Office实现，你们政府的机器需要安装永中Office，现实吗？ <br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 下载量能说明什么问题？看看Mozilla最近公布了一个令人失望的消息，&#8220;据Mozilla公司统计，75%的火狐下载者，并未在安装之后经常使用火狐，这些用户可以说和火狐没有什么关系。&#8221;<br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 另外金山Office和永中Office并非就真正免费，免费的不过是个人版本。很多人宁可放弃正版的Windows XP home版本都要用Windows XP Professional一样，又有多少人真正愿意用阉割了的个人版本呢？</p>
<p>&nbsp; &nbsp;&nbsp; 我们今天使用办公软件，不仅仅是关起门来自己内部使用，我们需要和国外交流，如果我们用了金山Office，保存为默认的 wps格式，然后发给了国外的客户，难道希望国外的客户也来安装个WPS Office？又或者我们辛辛苦苦把版式设计的很漂亮（比如发票），并保存为Doc格式，但客户打开后排版一团糟，客户会怎么想？ <br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 我有个政府信息化部门的同学不止一次问我有没有装WPS Office，因为她收到了别人发的WPS格式的文档，可他们的机器上都没有安装WPS Office，很遗憾，虽然我曾经试用过WPS Office(我曾经为WPS Office贡献过多次下载量，但最终我的机器上连WPS Office的影子都没有了，我还下载过永中Office以及没有了什么声音的Redflag Office），但我还是选择了卸载，我宁愿用免安装版本的OpenOffice（Portable OpenOffice）。<br />
</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp; 至于国产软件，他们要自己想办法争取更多用户，而不是让用户来主动找他们，迁就他们。<br />
</p><img src ="http://www.cnblogs.com/hardrock/aggbug/1314861.html?type=1" width = "1" height = "1" /><br/><br/>--------------------------<br/>新闻：<a href="http://news.cnblogs.com/n/47977/" target="_blank">Mono 的Virtual PC 虚拟机</a><br/>网站导航: <a href="http://www.cnblogs.com" target="_blank">博客园首页</a>&nbsp;&nbsp;<a href="http://news.cnblogs.com" target="_blank">新闻</a>&nbsp;&nbsp;<a href="http://dotnet.cnblogs.com" target="_blank">.NET频道</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com" target="_blank">社区</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/q/" target="_blank">博问</a>&nbsp;&nbsp;<a href="http://space.cnblogs.com/ing/" target="_blank">闪存</a>&nbsp;&nbsp;<a href="http://zzk.cnblogs.com" target="_blank">找找看</a>]]></description></item></channel></rss>