搜索
bottom↓
回复: 23

Sqlite真是好东西啊

[复制链接]

出0入0汤圆

发表于 2009-9-12 03:52:08 | 显示全部楼层 |阅读模式
这两天用他做了个事件记录模块。发现它真不错,轻量级的,而且功能还挺全的。

阿莫论坛20周年了!感谢大家的支持与爱护!!

月入3000的是反美的。收入3万是亲美的。收入30万是移民美国的。收入300万是取得绿卡后回国,教唆那些3000来反美的!

出0入0汤圆

发表于 2009-9-12 07:46:11 | 显示全部楼层
是的,俺们产品用了很久了,好用,开源,跨平台,比痿软的玩意好多了。

出0入0汤圆

发表于 2009-9-12 09:41:45 | 显示全部楼层
好东西,LZ可以讲讲如何移植,怎么应用。
头像被屏蔽

出0入0汤圆

发表于 2009-9-12 10:02:10 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽

出0入0汤圆

发表于 2009-9-16 20:19:18 | 显示全部楼层
做个轻量级的应用不错,但是用在ouravr这样的级别上,阿莫宁愿跳河。

出0入33汤圆

发表于 2009-9-16 20:49:10 | 显示全部楼层
以前做过测试,Sqlite查询性能还是很好的,但是写入性能不高,不适合大量频繁改写的场合。由于开放性好,适合替代MS的Access

出0入0汤圆

发表于 2009-9-16 21:03:14 | 显示全部楼层
这玩意本来就是小型轻量级数据库,尤其适合嵌入式场合,对功能性能过多苛求是不恰当的。至于做网站,你至少也得用个mysql吧,要不然都不好意思跟人打招呼。

出0入0汤圆

 楼主| 发表于 2009-9-18 22:10:39 | 显示全部楼层
armecos 这个家伙广告做的太凶了,有点让人厌。

出0入0汤圆

发表于 2010-10-12 18:09:21 | 显示全部楼层
北京有家搞电力的,做的通信管理机的参数是通过Sqlite存储的。

出0入0汤圆

 楼主| 发表于 2010-10-12 21:45:32 | 显示全部楼层
给你推荐的更nb的数据库bdb,就是berkeley db,现在已经被oracle收购了,他是开源的,不过是支持gpl的,svn的后端存储好像就是基于这个的。
适合你的应用。

出0入0汤圆

发表于 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[0]) );
if( zMbcsFilename==0 ){
  return 0;
}
nByte = MultiByteToWideChar(codepage, 0, zFilename, -1, zMbcsFilename, nByte);
if( nByte==0 ){
  free(zMbcsFilename);
  zMbcsFilename = 0;
}
return zMbcsFilename;
}

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

出0入0汤圆

发表于 2010-10-13 03:42:42 | 显示全部楼层
是个好东西,本地数据库,速度还可以。

出0入0汤圆

发表于 2010-10-13 04:45:47 | 显示全部楼层
不错,这个满有意思的

出0入0汤圆

发表于 2010-10-31 10:44:54 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-31 11:01:50 | 显示全部楼层
mark

出0入228汤圆

发表于 2010-10-31 11:36:29 | 显示全部楼层
用 FIREBIRD吧
更厉害,单机,嵌入,网络 都没问题。

出0入0汤圆

发表于 2010-10-31 11:45:55 | 显示全部楼层
回复【15楼】wxws
用 firebird吧
更厉害,单机,嵌入,网络 都没问题。

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

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

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

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

出0入0汤圆

发表于 2010-10-31 11:57:58 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-31 12:51:43 | 显示全部楼层
mark

出0入0汤圆

发表于 2010-10-31 12:58:49 | 显示全部楼层
mark

出0入0汤圆

发表于 2011-9-17 10:03:07 | 显示全部楼层
顶。。。。

出0入0汤圆

发表于 2011-9-17 11:16:48 | 显示全部楼层
mark linux数据库

出0入0汤圆

发表于 2013-1-29 21:27:37 | 显示全部楼层
有没有sqlite用在stm32的uclinux上的实例?

出0入0汤圆

发表于 2013-1-29 21:40:39 来自手机 | 显示全部楼层
有没有单片机这样的资源也可以用的啊。我现在同事写的上位机程序用的就是这个。
回帖提示: 反政府言论将被立即封锁ID 在按“提交”前,请自问一下:我这样表达会给举报吗,会给自己惹麻烦吗? 另外:尽量不要使用Mark、顶等没有意义的回复。不得大量使用大字体和彩色字。【本论坛不允许直接上传手机拍摄图片,浪费大家下载带宽和论坛服务器空间,请压缩后(图片小于1兆)才上传。压缩方法可以在微信里面发给自己(不要勾选“原图),然后下载,就能得到压缩后的图片】。另外,手机版只能上传图片,要上传附件需要切换到电脑版(不需要使用电脑,手机上切换到电脑版就行,页面底部)。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

手机版|Archiver|amobbs.com 阿莫电子技术论坛 ( 粤ICP备2022115958号, 版权所有:东莞阿莫电子贸易商行 创办于2004年 (公安交互式论坛备案:44190002001997 ) )

GMT+8, 2024-4-27 14:50

© Since 2004 www.amobbs.com, 原www.ourdev.cn, 原www.ouravr.com

快速回复 返回顶部 返回列表