oldtom 发表于 2009-9-12 03:52:08

Sqlite真是好东西啊

这两天用他做了个事件记录模块。发现它真不错,轻量级的,而且功能还挺全的。

elecboy 发表于 2009-9-12 07:46:11

是的,俺们产品用了很久了,好用,开源,跨平台,比痿软的玩意好多了。

shotstar 发表于 2009-9-12 09:41:45

好东西,LZ可以讲讲如何移植,怎么应用。

armecos 发表于 2009-9-12 10:02:10

jimo 发表于 2009-9-16 20:19:18

做个轻量级的应用不错,但是用在ouravr这样的级别上,阿莫宁愿跳河。

vtte 发表于 2009-9-16 20:49:10

以前做过测试,Sqlite查询性能还是很好的,但是写入性能不高,不适合大量频繁改写的场合。由于开放性好,适合替代MS的Access

elecboy 发表于 2009-9-16 21:03:14

这玩意本来就是小型轻量级数据库,尤其适合嵌入式场合,对功能性能过多苛求是不恰当的。至于做网站,你至少也得用个mysql吧,要不然都不好意思跟人打招呼。

oldtom 发表于 2009-9-18 22:10:39

armecos 这个家伙广告做的太凶了,有点让人厌。

ljt8015 发表于 2010-10-12 18:09:21

北京有家搞电力的,做的通信管理机的参数是通过Sqlite存储的。

oldtom 发表于 2010-10-12 21:45:32

给你推荐的更nb的数据库bdb,就是berkeley db,现在已经被oracle收购了,他是开源的,不过是支持gpl的,svn的后端存储好像就是基于这个的。
适合你的应用。

sssttt 发表于 2010-10-13 03:00:12

提供点小技巧

Sqlite不支持数据库文件放入中文路径,可用如下办法解决

char *unicodeToUtf8(const WCHAR *zWideFilename){
int nByte;
char *zFilename;

nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, 0, 0, 0, 0);
zFilename = (char*)malloc( nByte );
if( zFilename==0 ){
return 0;
}
nByte = WideCharToMultiByte(CP_UTF8, 0, zWideFilename, -1, zFilename, nByte,
0, 0);
if( nByte == 0 ){
free(zFilename);
zFilename = 0;
}
return zFilename;
}

WCHAR *mbcsToUnicode(const char *zFilename){
int nByte;
WCHAR *zMbcsFilename;
int codepage = AreFileApisANSI() ? CP_ACP : CP_OEMCP;

nByte = MultiByteToWideChar(codepage, 0, zFilename, -1, NULL,0)*sizeof(WCHAR);
zMbcsFilename = (WCHAR*)malloc( nByte*sizeof(zMbcsFilename) );
if( zMbcsFilename==0 ){
return 0;
}
nByte = MultiByteToWideChar(codepage, 0, zFilename, -1, zMbcsFilename, nByte);
if( nByte==0 ){
free(zMbcsFilename);
zMbcsFilename = 0;
}
return zMbcsFilename;
}

char szPath = "D:\\Project\\Test\\wwtest\\DBTest\\DBTest\\我的数据库\\pic.db";
char *pPath;
WCHAR *wcPath;
wcPath = mbcsToUnicode(szPath);
pPath = unicodeToUtf8(wcPath);
sqlite3_open(pPath, &db);

wuzhujian 发表于 2010-10-13 03:42:42

是个好东西,本地数据库,速度还可以。

magiczero 发表于 2010-10-13 04:45:47

不错,这个满有意思的

dogcome 发表于 2010-10-31 10:44:54

mark

lghtjpu 发表于 2010-10-31 11:01:50

mark

wxws 发表于 2010-10-31 11:36:29

用 FIREBIRD吧
更厉害,单机,嵌入,网络 都没问题。

ljt8015 发表于 2010-10-31 11:45:55

回复【15楼】wxws
用 firebird吧
更厉害,单机,嵌入,网络 都没问题。

-----------------------------------------------------------------------

sqlite和firebird比
这断时间试了sqlite数据库
sqlite和FB比,在单机上可解决三大问题:
一:突然停电或系统突然重启动导至数据损坏。sqlite对这方面很大程度上避免这个问题方面做得比较好。
二:加密功能,不用担心数据被别人复制到别的地方打开。而FB只要能复制到别的地方,随便可以打开。
三:频烦的插入删除,更新数据,不会导至数据数据库很快增长。FB数据库快速度增长是容易导至数据库损坏的原因。

这三个问题,是导至一个软件是否长期使用时的可靠性问题。
我使用了各种办法想让sqlite数据库出现损坏(在操作数据库时用突然断电,强制杀死进程,重新启动等等),都没有办到。而FB这样折腾一会数据库文件准坏,且无法修复。

sqlite缺点就是速度上比不上FB快。当然如果FB用的服务方式,还是很可靠的,可是,这样麻烦,小用户用这个也没有必要。
使用了三年FB,看来要换一下了。

exploer 发表于 2010-10-31 11:57:58

mark

fanwt 发表于 2010-10-31 12:51:43

mark

Fire_cow 发表于 2010-10-31 12:58:49

mark

Excellence 发表于 2011-9-17 10:03:07

顶。。。。

luck851 发表于 2011-9-17 11:16:48

mark linux数据库

gaoxy2008 发表于 2013-1-29 21:27:37

有没有sqlite用在stm32的uclinux上的实例?

inkfish321 发表于 2013-1-29 21:40:39

有没有单片机这样的资源也可以用的啊。我现在同事写的上位机程序用的就是这个。
页: [1]
查看完整版本: Sqlite真是好东西啊