• 了解嵌入式数据库(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.javaeye.com/blog/251636

  • 相关阅读:
    CentOS安装系统时硬盘分区建议
    Linux下的gpt分区
    如何解决Win10账户没有了管理员权限
    redis数据的清空以及回滚
    禅道的作用以及安装
    Java数组的内存图
    Java中的内存划分
    进制
    Java数组
    Java方法的重载(Overload)
  • 原文地址:https://www.cnblogs.com/ljzforever/p/1681453.html
Copyright © 2020-2023  润新知