本人想做一个桌面应用,需要一个免安装的嵌入式关系数据库,在对比了 Access 和 Firebird 之后,选择了更简便、性能更好的后者。

  • Firebird 简介:

firebird是一个真正的关系数据库,支持存储过程、视图、触发器、事务等大型关系数据库的所有特性,它是一个开源的,可以自由使用的数据库(即使是商业上的使用)。具有以下的特点:

    1. 支持原子性,并发性,隔离性等概念。
    2. 支持事务的多个版本功能。
    3. 支持存储过程。
    4. 支持事件:存储过程和触发器可以引发事件,这个事件可以被客户端程序监听到。
    5. 生成子:生成子也称为序列,它可以很容易的实现自动增加的字段。它是一个INT64的长度,因此,它可以用在一个事务中,也可以用在其它很多方面。
    6. 只读数据库:我们可以把数据库存放在CD中,形成一个只读数据库。如果我们的应用程序也在光盘上,再加上嵌入式的FB数据库服务器,便可以得到一个无与伦比的 CDLIVE(即只用光盘就可以运行起来)应用。
    7. 全事务控制:一个客户端可以存在多个并发的事务。并且每一个事务都可以独立的进行控制,两段提交功能可以保证数据库的一致性。锁优化机制也支持多个事务的保存点。
    8. 触发器:每一个表可以有多个并发的行级触发器,可以在插入前,插入后,更新前,更新后,删除前,删除后进行触发。我们可以在触发器中写入PSQL语句,默认值,产生异常,firebird现在支持统一触发器,即可以一个触发器中,一次性管理插入,更新,删除的操作。
    9. 字符集:Firebird实现了很多国际标准的字符集,包括Unicode。
    10. 扩展函数:可以使用C语言,C++,DELPHI写UDF,使用UDF(用户定义函数库)可以很容易的挂入数据库引擎中以扩展我们需要的功能.
    11. SQL标准兼容:Firebird 实现了全部SQL92所要求的功能,实现了SQL99最常用的的要求。包括但不限于"FULL/LEFT/RIGHT [OUTER] JOIN , UNION, DISTINCT , 子查询 (IN, EXISTS),内部函数 (AVG, SUM, MIN, MAX, COALESCE, CASE, ..), 主键,外键,唯一索引以及所有通用的数据类型。
    12. 在线备份:不需要停止数据库即可进行备份,一个备份进程产生一个数据库当前的快照。因此,用户可以在备份期间持续的工作,即实现24x7(每天24小时,每周7天) 的操作。
    13. Firebird还实现了域,字段级别的约束,视图,异常,规则和权限管理
    14. 协议:Firebird协议使用IPL(interbase public license)和IDPL(Initial Developer's Public License),这种协议类似于Mozilla协议。你可以完全的自由使用并且可以自由的布署在你的客户应用上。
    15. 包含三个版本:(a)标准服务器:每一个客户连接将引发一个服务器进程(支持多处理器) ;(b)超级服务器:一相服务器进程模块管理所有的客户端连接,当前不支持多处理器;(c)嵌入服务器:整个服务器引擎就是一个动态库,只支持本地通过IO进行调用;
    16. NET C# 和 Java 的支持:官方提供了.NET Data Provider 和 JDBC Driver 。
  • Firebird Data Provider For .NET 连接 Firebird 数据库文件

    1. 下载 Firebird 嵌入式数据库:Firebird-2.5.0.25920-0_Win32_embed_pdb_RC2(ZIP格式,8.5MB) 下载解压到本地磁盘即可,无需安装。
    2. 利用可视化的数据库管理工具创建数据库:Firebird 的数据库管理工具有很多,本人使用了 IBManager,只有一个 EXE 文件,免安装。
    3. 配置数据库文件所在目录:从第1步中解压出来的目录下复制文件 firebird.msg 和 intl、udf 两个子目录的所有内容到放置数据库文件的目录下。注:数据库文件可以放置在任何可访问的目录上,不必和应用程序同一目录。
    4. 配置应用程序目录:从第1步中解压出来的目录下复制文件以下 6 个文件到应用程序目录:fbembed.dll、firebird.conf、ib_util.dll、icudt30.dll、icuin30.dll、icuuc30.dll。
    5. 引用 Firebird .NET Provider 的 dll :先下载  Firebird.Net Provider v2.5.1 (ZIP格式,200KB),解压,将其中的 FirebirdSql.Data.FirebirdClient.dll 添加引用到项目。
    6. 连接:个人也记不住连接字符串,直接使用 FbConnectionStringBuilder 创建连接字符串,具体代码如下:

参考资料:

  1. 官方网站 http://www.firebirdsql.org
  2. 中文社区 http://www.firebird.net.cn
  3. Firebird介绍 http://baike.baidu.com/view/424640.htm?fr=ala0_1
  4. Access和Firebird的性能比较 http://blog.csdn.net/HiSpring/archive/2010/02/17/5310270.aspx
  5. 相关下载 http://sourceforge.net/projects/firebird/files/

Firebird 数据库使用心得相关推荐

  1. 创新课程管理系统数据库设计心得

    因为创新课程管理系统这一个项目,是一个从无到有,没有标准可以去参考的一个项目. 这个项目专门针对该课程进行设计,所以需求的功能点很多,因此数据库有多次设计,更改再推翻重新设计再更改. 因为用户有多个类 ...

  2. 本地数据源:使用firebird数据库

    我用它来做本地数据源.本来想用wilson的XmlDbClient的,不过资料很少.就选用了firebird.因为firebird数据库可以内嵌(Embed)到应用程序中. firebird数据库,源 ...

  3. Docker安装FireBird数据库

    Docker安装FireBird数据库 Supported tags and respective Dockerfile links 2.5-sc, 2.5.8-sc (2.5-sc/Dockerfi ...

  4. mysql数据库合库数据库合并心得

    mysql数据库合库数据库合并心得 要区分表的主键类型和有无外键 1.自增主键+ 外键相关表 2.uuid + 外键相关表 3.没有外键的自增表 4.没有外键的uuid表 5.没有外键的自增表无数据 ...

  5. 数据库表的软硬关联_Jimmy的关系型数据库设计心得 第一版

    欢迎关注Jimmy的公众号:Jimmy嘚啵嘚,每周都有很多干货文章分享(最近比较懒,先保证每周写几篇,等忙完了再每日更新) 最近在梳理以前设计关系型数据库的心得体会,或者斗胆说是方法论,梳理出一些感觉 ...

  6. 在VisualStudio中使用EF操作Firebird数据库

    在VisualStudio中使用EF操作Firebird数据库 因项目需要,笔者需要在VS2019中使用EF操作Firebird数据库.但Firebird在国内算是一款非常小众的关系型数据库,由于用的 ...

  7. 火鸟Firebird数据库的中文参考资料

    火鸟Firebird数据库的中文参考资料 ■firebird标准连接串 Driver=Firebird/InterBase(r) driver;Uid=SYSDBA;Pwd=masterkey;DbN ...

  8. Firebird数据库表结构及数据导出

    拿到一个Firebird数据库的FDB文件,却找不到转换成MS SQL SERVER数据库文件的方法,找了很多方法,由于是个免费版本的Firebird,最后只好用了个笨办法,特此留念: 一.导出表结构 ...

  9. Firebird数据库的安装配置与使用

    Firebird数据库的安装配置与使用 [温馨提示:本文档所有操作均在root用户下进行] 一.安装 1.rpm包方式 我选用的安装方式是 使用rpm包安装 执行以下命令进行安装: $ rpm -iv ...

最新文章

  1. go语言实现简易ftp客户端
  2. Docker镜像基本使用
  3. VS Code 的常用快捷键和插件
  4. jfreechart 时序图 ,生成图表
  5. (多表)关联update 超过两个字段以上
  6. 用javascript代码拼html
  7. Hive系列(一)metastore的认证和授权
  8. php 文章修改怎么写,PHP开发文章发布系统之后台文章修改页面
  9. 1054: 猴子吃桃
  10. P2158 [SDOI2008]仪仗队 欧拉函数
  11. 网易通行证html代码,JavaScript实现仿网易通行证表单验证
  12. Cookie、Kaptcha
  13. python假设检验和区间估计_用 Python 实现常用的假设检验
  14. 四叶草剧场服务器维修价格,四叶草剧场服务器介绍 服务器选择攻略
  15. 网络层(四)划分子网
  16. 未支付订单超时处理分析
  17. python字符串按ascii码排序_C# 字符串按 ASCII码 排序的方法
  18. 网络安全运维人员面临的痛点分析
  19. SQLServer学习笔记 --- (20008, 'DB-Lib error message 20008, severity 9:\nUnable to open socket\nNet-Li
  20. 2021年焊工(初级)考试资料及焊工(初级)免费试题

热门文章

  1. VB中关于Dim与Redim的应用
  2. 传奇服务器如何查账号密码,传奇服务端版本中如何查找礼包领取兑换密码的方法!...
  3. 22岁到72岁的男人对女人的要求
  4. 一些计时软件,生产力工具
  5. 啦啦外卖至尊版拼团呀。
  6. 数字的整数次方——《剑指offer》
  7. 京东前台产品基础面试经历
  8. 第二篇 基础篇—燃烧吧!我的雌雄双股剑! 第5回 二弟呀,面子工程很重要
  9. iPhone6和iPhone6 Plus的分辨率和像素
  10. YOLOv3庖丁解牛(一):网络结构