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.* )
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())
QT連線FireBird測試
根據上篇翻譯的文件按部就班的進行測試,結果可以正常的連線到firebird。這裡有幾個地方需要注意 1.首先安裝好qt vs,以及firebird後,編譯ibase外掛程式。設定好包含路徑後可以順利的編譯。2.建立測試程式後發現沒有載入ibase驅動,這是因為程式找不到fbclient.dll所致,...
用Marathon管理Firebird資料庫 1
首先,我們用marathon來建立乙個firebird資料庫。有兩種途徑,一是直接點選browse窗體上的create a database browse窗體預設是程式開啟時顯示的,若沒有顯示可以通過view view browse開啟 一是通過點選file create a database,開啟...
xmake新增對Qt編譯環境支援
在最新的xmake v2.2.1版本中,新增了對qt sdk環境的支援,我們完全可以脫離qt creater進行qt應用程式的開發,甚至配合vscode idea等編輯器 xmake外掛程式 xmake vscode,xmake idea 使用者完全可以切換到自己最常用的編輯器環境中去開發和構建qt...