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();
 }

欢迎访问cuzn小站

Qt 用QSqlDatabase 连接Firebird数据库

1、打开文件:D:\Qt\Qt5.1.1\5.1.1\Src\qtbase\src\plugins\sqldrivers\ibase\ibase.pro 2、修改里面的内容如下:     TARGE...

QT及嵌入式FireBird入门

本文逐步介绍QT,VS和FireBird 简介 本文逐步介绍QT,VS和FireBird.适用于打算使用嵌入式FireBird的QT开发者以及QT新手. 在我写这篇文档的时候,有关本文涉及的话题...

Delphi7高级应用开发随书源码

  • 2003年04月30日 00:00
  • 676KB
  • 下载

【转】火鸟Firebird数据库的中文参考资料

本代码在:WinXp Pack 3 + Delphi2009 updata1 火鸟Firebird2.5.0.23247下测试通过。 使用了Data Access面板的组件用SQL进行操作 作者:...
  • sq8706
  • sq8706
  • 2016年05月03日 09:28
  • 1794

用Node.js操作Firebird数据库。

FireBird  Firebird是一个跨平台的关系数据库系统,目前能够运行在Windows、linux和各种Unix操作系统上,提供了大部分SQL-99标准的功能。它既能作为多用户环境下的数据库服...

IBPP链接FireBird数据库相关,总结

1、FireBird端口号是3050,必须安装数据库软件,flameRobin和Firebird,才能开启3050端口,才能被远程访问。 2、参考http://blog.sina.com.cn/s/...

FireBird 数据库

Linux下的FireBird 数据库 博客分类:  DataBase LinuxSQLSQL Server应用服务器PostgreSQL  Linux下的Fire...

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

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

使用FireBird数据库和管理工具IBExpert过程的问题与解决方法

第一次接触FireBird数据库,今天下午测试连接了一下午都没有连接上,每次用IBExpert登记一个数据库的时候都没登记上,提示firebird.msg没有找到和Your user name an...

Firebird数据库异常及常用操作

一、运行时异常,raised exception class EIB_ISCError with message 'ISC ERROR CODE:335544375 ISC ERROR MESSAGE...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:QT编译支持Firebird数据库
举报原因:
原因补充:

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