Office中国论坛/Access中国论坛

标题: VB或Access如何使用Sqlite数据库的心得集锦 [打印本页]

作者: tmtony    时间: 2015-5-17 10:32
标题: VB或Access如何使用Sqlite数据库的心得集锦
最近因客户需要,要用到Sqlite数据库,前端工具使用VB或Access, 在使用过程中遇到一些问题,(特别感谢 席主习_smileyoufu 帮助)通过网友帮助和网上搜索,将一些解决心得写下来,希望对Sqlite入门者有所帮助和启动
1.VB或Access 要直接使用Sqlite数据库,需要安装一个Sqlite litex的版本,才能正常注册sqlite3.dll
    但实际我在注册中,在一些电脑注册会出现使用问题,网友如果测试成功,请跟贴
    sqlite lites使用说明及下载地址: http://blog.sina.com.cn/s/blog_48e2ea3401018fiz.html
2.可使用 sqliteforexcel 解决方案,里面封装了一个dll  ,下载地址: http://sqliteforexcel.codeplex.com/
    SQLite3_StdCall.dll
    SQLiteForExcel.xls  
    SQLiteForExcel_64.xlsm
    SQLiteForWord.doc
    里面也包含

      缺点:是没有创建新数据库的方法,使用接口 与ado 不太兼容,语法不相同。迁移成本有点高

3. 第三种解决方案,也是   席主习_smileyoufu 提供方案,使用vbRichClient5.dll    vb_cairo_sqlite.dll   DirectCOM.dll
     可实现免注册使用sqlite数据库,且因为 vbRichClient5 的封装,使用Sqlite数据库几乎 没有太大的差异。
     且Sqlite的数据库在一些性能性,特别的内存数据库,速度非常的快。对一些单机软件非常适合
     使用方法,从 http://www.vbrichclient.com/ 官方下载
     vbRichClient5.dll    vb_cairo_sqlite.dll   DirectCOM.dll
     即可
     唯一缺点是发布时需要带着  vbRichClient5.dll 库(注册或免注册方式)
     vb_cairo_sqlite.dll (原生DLL,不需要注册)   DirectCOM.dll
     且 vb_cairo_sqlite.dll   vbRichClient5.dll 必须保持在同一个目录即可

相关链接:
Access数据库与Sqlite数据库性能对比测试
http://www.office-cn.net/thread-119912-1-1.html


作者: zpy2    时间: 2015-5-18 04:35
谢谢分享
作者: ganlinlao    时间: 2015-5-18 11:48
王站,什么时候转向了?{:soso_e114:}

VB6使用SQLite的选项不多,而且或多或少有这样那样的问题。

1、litexSQlite,这是早期的比较牛的sqlite的com封装。它牛到很多人想试图修改它的源码,但没有一个能成功的。可见作者的c++功力是非常深厚的。
2、VBA版本的,确实让人怎么用,怎么不习惯。这里面一个重要的原因是:大多数使用vba的人,如果不使用recordset,都不知道怎么使用数据库里的数据。可以说recordset快等同于数据库了。
3、sqlite有oledb的驱动程序,这不是官方的,但它有一个糟糕的问题,必须注册,虽然它是免费使用,但使用者必须注册。这一点太糟糕了,糟糕到好象蛋蛋被人捏着一样的疼。
4、vbrichclient5。它的使用是没有问题,问题在于如果你只用sqlite的话,那它的库显得有点庞大了一点,因为你不用它的其它功能,所以这样的库,就是一个胖客户端。我也是建议大家使用vbrichclient5。
5、其实我很早就知道vbrichclient的作者,那时候,他根本就还没写vbrichclient。那时,我也不知道他居然有这么大的雄心,会搞成这么大的框架。我在这里犹豫着要不要说,其实不用vbrichclient5,还可以使用更加小巧的适用vb使用的SQlite。总共才500多K,而不是现在的5、6M这么大。只不过因为它已不再被维护了,而且不是开源的,即使有问题,你也无从解决起。
如果我才这么犹豫着。





作者: tmtony    时间: 2015-5-18 11:53
冬瓜汤,原来你对Sqlite也有研究啊。
那个500K  的是什么DLL,使用方式是否像cRecordset一样方便?
我现在是使用vbRichClient5.dll 使用还是比较方便,就是有点大,且免注册方式在有些客户电脑出关闭程序时出错。
我主要是解决一个客户的问题。他要求用这个。一般开发,我还是倾向于Access
作者: 风中漫步    时间: 2015-5-18 13:20
本帖最后由 风中漫步 于 2015-5-18 13:23 编辑

{:soso_e121:}不好意思啊,站长.能说说您开发的这个库用在哪方面吗?昨天没好意思问,如果不方便就别回了.
作者: tmtony    时间: 2015-5-18 13:30
1. 如果数据库没有修改,数据库文件的日期不能改变
2. 大量需要不断频繁读取服务器数据库但数据并没有经常更新的场景,如单据中选择产品资料,展示BOM等
3. 其它对数据速度有较高要求的




欢迎光临 Office中国论坛/Access中国论坛 (http://www.office-cn.net/) Powered by Discuz! X3.3