惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Microsoft Azure Blog
Microsoft Azure Blog
J
Java Code Geeks
量子位
腾讯CDC
C
Check Point Blog
小众软件
小众软件
IT之家
IT之家
I
InfoQ
Hugging Face - Blog
Hugging Face - Blog
Stack Overflow Blog
Stack Overflow Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
GbyAI
GbyAI
Apple Machine Learning Research
Apple Machine Learning Research
大猫的无限游戏
大猫的无限游戏
博客园_首页
S
SegmentFault 最新的问题
The Cloudflare Blog
阮一峰的网络日志
阮一峰的网络日志
aimingoo的专栏
aimingoo的专栏
P
Proofpoint News Feed
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
Google DeepMind News
Google DeepMind News
T
Tailwind CSS Blog
Martin Fowler
Martin Fowler

博客园 - RubyPDF

content-disposition attachment filename 在Firefox和IE中得到不同的结果 - RubyPDF Google Voice开始发送邀请函 ASP.NET空间使用SQLite遇到的麻烦 PDF数字签名免安装版本发布-Portable PDF Digital Signature(Portable PDF Signer) Dreamhost 开始提供免费空间了 SQLite Manager Thinkpad T60 Fan Error及重新启动windows后画面静止 PdfCrypt 1.0 for Windows 发布 XMP Remover:批量删除PDF 文档的XMP data 软件正版化要靠政府,不能靠国产软件 FCrackZip 1.0 Windows 版本发布 破解MS Word 的只读密码限制 PDFCrack 0.11 Windows 版本发布 Chrome 的又一个bug? 服务器端动态序列化与Unable to generate a temporary class报错 OpenOffice 3增加PDF导入和编辑功能 AspSpider 终止提供免费空间服务了。 比尔盖兹在某个大学毕业典礼上的演讲中,对毕业生提出十一项极为睿智的人生建议 在博客页首添加搜索功能
Sqlite使用中的几点体会。
RubyPDF · 2009-02-15 · via 博客园 - RubyPDF

最近接了个美国的小项目,主要需求是把盘点机导出的数据(DBF格式)和另外的数据(csv格式)合并生成新的数据表,方便查询纠错。对方没有安装ms Access,考虑到对方使用方便,就采用了sqlite,开发语言使用.net 2.0。 下面简单罗列下用过程中的几点体会。

Provider:通过使用其他开源软件的体会和网上搜索,Provider决定使用System.Data.SQLite

事务(DbTransaction):因为涉及数据导入合并,批量插入和更新等工作是必须的了,一开始没有显式调用事务,速度别提多慢,于是想当然觉得sqlite速度比access还慢,后来搜索发现,原来SQLite 缺省为每个操作启动一个事务,其实这是数据库操作的基本常识,不仅仅Sqlite需要注意这些,当然Access等不支持事务的不在此列。

索引(index):数据导入合并,插入和更新时都需要查询数据是否有重复以及存在,所以索引是不可以缺少的。

SQLiteParameter:批量插入的时候,为了省懒事,使用string.format来格式化插入,结果碰到“near "s": syntex error.”,经过跟踪,原来是单引号(')的问题,看来还是乖乖使用SQLiteParameter来规范地导入,并可以避免很多字符上的问题。

Update ...From(Cross Join in Update):Sqlite 不支持类似

UPDATE tbl1 SET col2 = tbl2.col2
FROM table1 tbl1 INNER JOIN table2 tbl2 ON tbl1.col1 = tbl2.col1

的update,替代的解决办法是:

UPDATE table1 SET col2 = (select col2 from table2 where table2.col1=table1.col1 limit 1)

where exists(select * from table2 where table2.col1=table1.col1); 

查询分析器:我选择SQLite Administrator,后来发现Firefox的插件(addons) Sqlite Manager也是不错的选择。

下面顺便列些和DotNet开发的和SQLite有关的项目:

Convert SQL Server DB to SQLite DB:C# utility to automatically do the conversion from SQL Server DB to SQLite DB(一个把ms SQL Server数据库自动转为SQLite DB的工具,包括源代码)。

SQLite Membership, Role, and Profile Providers:Complete, production-ready Membership, Role, and Profile providers for SQLite. Includes instructions for migrating data between SQL Server and SQLite.