依然饭跑跑 发表于 2016-11-30 06:58:41

嵌入式数据库学习(sqlite,firebird)

  最近来了兴趣,研究了一下嵌入式数据库,主要有两个代表:sqlite和firebird(embed版)。是IBExpert。
  这两个数据库都有.net数据提供程序,对于我们搞.net的人来说无疑是个好消息。
  那么如何在.net使用呢?
  sqlite非常方便,只要把其ado.net的dll加入进来便可直接访问了,当然,其连接字符串有
  sqlite无疑是最小的一个,单文件程序,只有400k,而它生成的数据库文件也是单文件。它支持大部份SQL92标准,不过遗憾的是不支持外键与存储过程。最新的版本是6.11版,其第三方图形化GUI,我用的是Sqlitespy。
  firebird其实并不是纯粹的嵌入式数据库,embed版只是其众多版本中的一个。不过做的也很小,把几个dll加起来才不到5M,但是它支持绝大部份SQL92与SQL99标准,赞一个先!最新的版本是2.1,其图形化GUI特殊的写法。
  但firebird就要费点脑子了。首先把其ado.net的dll加入进来,然后加入数据库本身的dll到项目根目录中。你不放在根目录中也可以,但是要在连接字符串中指明dll的路径。一共有6个文件:fbembed.dll,firebird.msg,ib_util.dll,icudt30.dll,icuin30.dll,icuuc30.dll。其中fbembed.dll是主文件。
  连接字符串写法如下:

FbConnectionStringBuilder cs = new FbConnectionStringBuilder();
cs.Database = @"j:\abc.fdb";
cs.ServerType = FbServerType.Embedded;   //这句话一定不能掉
//如果不放在根目录,则需要下面一句指明路径,但如果是asp.net程序,则一定要写这句话来进行显示声明。
cs.ClientLibrary = @"bin\fbembed.dll";
FbConnection con = new FbConnection(cs.ToString());

  下面就可按照ado.net的一般写法往下写了。
  这两个数据库与Sql server 有所不同,需要在文档中仔细查验,在这里,我就不多说了。
  总之,这两个数据库是不可多得的东东喔!
  参考:
  Sqlite官网:
  www.sqlite.org
  Sqlite中文社区:
  www.sqlite.com.cn
  firebird官网:
  http://www.firebirdsql.org
  Firebird中文社区:
  http://www.firebird.net.cn
  firebird 连接嵌入式版本
  http://www.host01.com/article/Net/00020003/0562810192156410.htm
  sqlite,Access和Firebird的性能比较
  http://www.cnblogs.com/kevin-moon/archive/2008/12/01/1344658.html
  一次数据库的选型,FireBird胜出
  http://s0o0e.iyunv.com/blog/251636
页: [1]
查看完整版本: 嵌入式数据库学习(sqlite,firebird)