发现了个好用的纯C的库,我可以拿他来做点数据库开发
官方网站:http://www.linuxnetworks.de/doc/index.php/OpenDBX
OpenDBX可以访问多种数据库的C类库。按作者说的,已经支持:
- Firebird
- Interbase
- MS SQL Server
- MySQL
- Oracle
- PostgreSQL
- SQLite
- SQLite3
- Sybase
安装:
先得下载linux 下的安装包,官方提供的是一个压缩文件,opendbx-1.3.1.tar.gz
- 解压缩 opendbx-1.3.1.tar.gz 文件
- 从终端进入到文件目录,执行 make install 程序会把文件拷贝到 /usr/local/lib and /usr/local/lib/opendbx
- 查看文件是否存在,完成。
- 要把 /usr/local/lib 下的共享库文件及连接文件 拷贝到 /usr/lib 下
这只是装了opendbx,要真正能使用起来我们还需要指定数据库系统的 backend 这样才能使用 opendbx
在官网找了个libopendbx1-firebird_1.2.2–1_i386.deb 下载,似乎是很就没有更新过了?
- 解压缩 libopendbx1-firebird_1.2.2–1_i386.deb,会得到两个压缩包
- 解压缩 data.tar.gz,会得到一个文件夹名为 usr,进入到该文件夹中的 opendbx,
将其拷贝到/usr/local/lib 下,并且把里面的共享库文件及连接文件拷贝到 /usr/lib 下
安装后发现仅支持 1.X的客户端。即要求的 fbclient.so.1 找不到,哎。。。只得装个 1.5.3 的客户端了
或者可以这么做:把 Firebird 1.x,lib文件夹下的 libfbclient.so.1、libfbclient.so.1.5.4拷贝出来,在安装新的 FirebirdSS2.0 后,将刚才的两个文件拷贝到 /opt/firebird/lib 以及 /usr/lib 下即可!
注意:同样不能通过使用在FB2.0的客户端共享库文件上新建连接文件来解决问题。
使用 OpenDBX 就比较好办了,安装官网的说法:
-
先link libraries ouside。。。
-L
-lopendbx -
再来就是 #include <odbx.h>
-
定义一个:odbx_t* handle; //这个HANDLE是全局的,在 odbx_init()中初始化
-
调用 odbx_init()来连接到数据库
-
执行一个 odbx_query(); 当然事前要先定义一个 query
-
完成这次事务 odbx_finish(handle);
不过最好还是用 kylix 做 Linux 下的 Firebird 开发会好点毕竟Borland 自己家的东西支持肯定是最好的,而且linux 下的 flamerobin 也是在 kylix 下开发的。