为了对比firebird和SQLite那个更适合做单机版应用,自己编译firebird linux aarch64版,经过摸索,lazarus终于可以在linux使用firebird嵌入版,现在注意事项记录如下:
部署到客户端:
1、将生成的firebird文件夹拷贝到/usr/local,firebird必须拷贝到/usr/local。
部署到客户端:
1、将生成的firebird文件夹拷贝到/usr/local,firebird必须拷贝到/usr/local。
sudo cp -r firebird/ /usr/local/
2、在终端安装相关依赖库
sudo apt-get install libcrypt-dev sudo apt-get install libtommath-dev sudo apt-get install libmcrypt-dev sudo apt-get install libtomcrypt-dev
sudo apt-get install cmake
3、设置UNIDAC的UniConnection1.ConnectString,当嵌入版使用时不需填写server、username 和password,只需指定数据库及libfbclient.so.4.0.2文件位置即可。
UniConnection1.Connected:=false; UniConnection1.ConnectString:='Provider Name=InterBase;'+ 'Database='+ExtractFilePath(Application.ExeName)+'employee.fdb;'+ 'Client Library='+ExtractFilePath(Application.ExeName)+'libfbclient.so.4.0.2'; UniTable1.Open;
经以上步骤,lazarus就可以正常使用firebird嵌入版了。
firebird嵌入版最精简时需要的so:
1、libfbclient.so
2、libEngine13.so(/usr/local/firebird/plugins)
3、libtomcrypt/libtommath/libmcrypt/libcrypt等4个依赖库
firebird嵌入版(linux)部署比较复杂(将/usr/local/firebird/plugins/libEngine13.so打包为deb也算简单),单机应用的部署还SQLite比较简单方便,能做到零部署。
firebird编译步骤:
1、安装支持包:
sudo apt-get install libcrypt-dev sudo apt-get install libtommath-dev sudo apt-get install libmcrypt-dev sudo apt-get install libtomcrypt-dev sudo apt-get install libncurses5-dev
2、将下载的firebird源码解压(https://github.com/FirebirdSQL/firebird/releases/download/v4.0.2/Firebird-4.0.2.28)
git clone https://github.com/FirebirdSQL/firebird.git
3、在解压后的目录执行以下命令:
./autogen.sh --with-system-editline=yes --with-system-icu make make install
3、经上述操作后就能生成firebird linux相关程序和so,在银河麒麟和华为麒麟990 CPU验证通过。