最近工作当中有Linux嵌入式系统中操作数据库的需求,由于以前没有接触过数据库,所以自己找了些资料来学习了下,经过了几番的折腾,到现在工作基本完成,现在总结下以方便自己以后查阅,同时也希望能帮助到遇到这方面困难的朋友。
什么是FreeTDS呢?其实就是一个开源(或者可以说成自由)的C程序库,它可以实现在Linux系统下访问操作微软的SQL数据库。可以用在Sybase的db-lib或者ct-lib库,在里面也包含了一个ODBC的库。允许许多应用软件连接到Sybase或者微软的SQL服务器。FreeTDS是以源码的现实发布的,正因为是这样,所以它几乎可以在任何系统中进行编译安装。
FreeTDS的软件获取:
可以在官网上进行下载:http://www.freetds.org/ ,我下载的版本是freetds-0.91,好像是最新版的
FreeTDS的安装:
1、将下载下来的压缩文件解压到任意目录,进入到解压后的目录中
2、将身份切换到root身份,开始配置编译环境,
./configure --prefix=/home/joey/work/freetds --with-tdsver=7.1 --enable-msdblib --disable-libiconv --host=arm-none-linux-gnueabi
解释一下各参数的意义:--prefix是FreeTDS的安装路径,可以根据需要随意设置;
--with-tdsver设置FreeTDS的版本,我这里设置了7.1是为了能连接SQL2005,网上有的文档说这里设置成8.0,但是我设置成8.0后编译出来的居然是5.0的,不知道什么原因,按这样设置成7.1编译出来的FreeTDS的版本就是7.1的;
--enable-msdblib是是否允许Microsoft数据库函数库,这里为允许;
--disable-libiconv这个选项不一定是必须的,FreeTDS会做一次字符集的默认转换,要查找ISO8859-1字符集,这有可能会导致中文乱码;
--host编译器名字,由于我的运行平台是arm平台,所以用到了交叉编译
3、在配置好了以后,接下来就简单了,就是用make,然后make install ;也可以一步到位,make && make install ;
FreeTDS测试:
FreeTDS安装好了,接下来就可以查看下FreeTDS状态了;
运行./tsql -C ,在安装目录的bin目录下可以找到tsql ,查看终端打印出来信息,可以看到版本号为7.1了: