QT编译支持Firebird数据库

原创 2015年03月11日 17:02:56

Firebird是典型的嵌入式数据库。所谓嵌入式数据库,简单地说就是不需要单独数据库服务器安装配置,只需要在应用软件中加入客户端接口就可以直接把一个文件当做数据库存取。而Firebird则是出自Borland公司的Interbase数据库,为后者的开源免费版本。笔者最早最早接触的是SQLite,后来由于其某些SQL特性不完善,故而找到了完全支持SQL92标准,支持大部分SQL-99标准功能的Firebird。只是最后也仅用于零散的练手项目,也没有深入研究下去。

QT Manual里已经给出了Interbase驱动器编译方法,这里将其稍作修改支持Firebird。

1、修改ibase工程文件ibase.pro如下:

TARGET  = qsqlibase
HEADERS  = ../../../sql/drivers/ibase/qsql_ibase.h
SOURCES  = main.cpp \
    ../../../sql/drivers/ibase/qsql_ibase.cpp
INCLUDEPATH += C:\Firebird\Firebird_2_1\include
LIBS += C:\Firebird\Firebird_2_1\lib\fbclient_ms.lib
unix:!contains( LIBS, .*gds.* ):!contains( LIBS, .*libfb.* ):LIBS    *= -lgds
win32:!contains( LIBS, .*gds.* ):!contains( LIBS, .*fbclient.* ) {
 !win32-borland:LIBS *= -lfbclient_ms
 win32-borland:LIBS  += gds32.lib
}
include(../qsqldriverbase.pri)

2、编译生成QT插件:

命令行下进入%QtDir%\src\plugins\sqldrivers\ibase;

键入qmake ibase.pro回车;

键入make回车。

  注意:(1)、自行确保相关环境变量设置

      (2)、%PATH%添加%Firebird%\bin。(QT资料上要求,未测试是否强制需要) 

3、拷贝embed版中的fbembed.dll、icuin30.dll、icudt30.dll、icuuc30.dll至执行程序目录,并将fbembed.dll更名为fbclient.dll。 

4、连接测试代码如下:

QSqlDatabase db = QSqlDatabase::addDatabase("QIBASE", "Firebird");
 db.setDatabaseName("e:\\cuzn.fdb");
 db.setUserName("SYSDBA");
 db.setPassword("masterkey");
 if (db.open())
 {
  QMessageBox mb;
  mb.setText("ok");
  mb.exec();
  db.close();
 }

qt使用mingw编译器编译interbase数据库的插件

Qt编译interbase数据库插件 1.     主要步骤六步,如下 下载qt 安装qt 安装interbase客户端 编译interbase数据库插件 测试interbase 发布q...
  • huqiaoxi
  • huqiaoxi
  • 2015年10月22日 16:33
  • 714

QT及嵌入式FireBird入门

本文逐步介绍QT,VS和FireBird 简介 本文逐步介绍QT,VS和FireBird.适用于打算使用嵌入式FireBird的QT开发者以及QT新手. 在我写这篇文档的时候,有关本文涉及的话题...
  • henreash
  • henreash
  • 2011年11月14日 16:43
  • 3661

Qt 用QSqlDatabase 连接Firebird数据库

1、打开文件:D:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\ibase\ibase.pro 2、修改里面的内容如下:     TARGE...
  • xiaojun5559
  • xiaojun5559
  • 2015年12月06日 16:57
  • 530

InterBase 和 Firebird服务器事务和FIBPlus支持

快速,灵活和高效的Delphi,BCB和Kylix直接使用InterBase API函数操作InterBase和FireBird的组件库. 本文基于Michael Zhuravlev (mikus@...
  • henreash
  • henreash
  • 2012年01月11日 09:54
  • 2456

FireBird

最近要做个桌面程序,部署到客户端那里,而客户离我又比较远.并且对电脑毫无概念.所以得才有客户端桌面数据库的问题.其实这个问题,大家也讨论了很多.大体有这么几种方案.ACCESS:微软的方便,但是安全性...
  • Korny
  • Korny
  • 2006年08月26日 19:05
  • 1549

QT编译支持Firebird数据库

QT访问小型嵌入式数据库
  • cuzn1024
  • cuzn1024
  • 2015年03月11日 17:02
  • 824

关于SQLite 与 FireBird 利弊分析

经查阅网上资料:  一、关于数据库简介:  SQLite    主页:http://www.sqlite.org  SQLite诞生于2000年5月,这几年增长势头迅猛无比,目前版本是3.3.8。 ...
  • wlanye
  • wlanye
  • 2016年05月25日 14:12
  • 2914

firebird嵌入式数据库

firebird是一个跨平台的开源数据库,适用interbase授权协议(IPL),从borland的interbase脱胎而来。以前用interbase/firebird的时候,发布程序的时候哪怕只...
  • suncjs
  • suncjs
  • 2004年09月18日 09:16
  • 4553

Firebird 数据库使用心得

Firebird 数据库使用心得  本人想做一个桌面应用,需要一个免安装的嵌入式关系数据库,在对比了 Access 和 Firebird 之后,选择了更简便、性能更好的后者。 Firebird...
  • zhangxiang190
  • zhangxiang190
  • 2012年12月20日 11:44
  • 1258

Firebird 数据库使用心得

      本人想做一个桌面应用,需要一个免安装的嵌入式关系数据库,在对比了 Access 和 Firebird 之后,选择了更简便、性能更好的后者。Firebird 简介:      firebir...
  • HiSpring
  • HiSpring
  • 2010年02月17日 13:29
  • 6246
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT编译支持Firebird数据库
举报原因:
原因补充:

(最多只允许输入30个字)