freetds 移植
移植freetds主要是為了能夠在linux下,使用C語言訪問微軟的sqlserver數據庫。
參考連接
http://blog.csdn.net/neighbor1000/article/details/8824084
http://blog.csdn.net/lovehere33/article/details/41118405
在ubuntu上安裝
從官網下載最新的穩定版本。
http://www.freetds.org/
以前使用舊的0.61版本,連接sqlserver服務器,速度很慢,需要幾十秒,有時甚至連接不上。
后來下載穩定版本,連接速度很快。目前下載的版本是freetds-1.00.39
編譯之前,查看freetds能夠支持的tds協議的版本號。
./configure --help 查看能夠支持的版本。
如下內容顯示了版本號。
--with-tdsver=VERSION TDS protocol version(4.2/4.6/5.0/7.0/7.1/7.2/7.3/7.4/auto) [auto]運行如下命令
./configure --prefix=/usr/local/freetds1.0 --with-tdsver=7.0 --enable-msdblib --disable-libiconv
make && make install
就會在/usr/local/freetds1.0目錄中安裝。
測試方法
qt@tony:~$ cd /usr/local/freetds1.0/bin/ qt@tony:/usr/local/freetds1.0/bin$ ./tsql -H 192.168.3.126 -p 1433 -U user -P password locale is "en_US.UTF-8" locale charset is "UTF-8" using default charset "UTF-8" 1>-H:sqlserver服務器的ip地址
-p: 端口號
-U: 用戶名
-P:密碼
查看sqlserver版本
1> select @@version 2> goMicrosoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86) Apr 2 2010 15:53:02 Copyright (c) Microsoft CorporationEnterprise Edition on Windows NT 5.2 <X86> (Build 3790: Service Pack 2) (Hypervisor)(1 row affected) 1>arm交叉編譯
export CC=arm-linux-gccexport LD=arm-linux-ldexport CPP=arm-linux-cpp./configure --host=arm-linux --prefix=/usr/local/freetds-arm --with-tdsver=7.0 --enable-msdblib --disable-libiconvmake && make install之后就會在/usr/local/freetds-arm目錄中有交叉編譯的文件。
將其中的文件打包,放到開發板相應的/usr/local/freetds-arm目錄中,移植就完成了。
ubuntu編譯app
gcc -o testsybase testsybase.c -L /usr/local/freetds1.0/lib/ -lsybdb -I /usr/local/freetds1.0/include/
testsybase.c是測試程序名稱。
使用C語言編寫測試app,運行時,需要先指定freetds庫文件的位置。
export LD_LIBRARY_PATH=/usr/local/freetds1.0/lib/
交叉編譯app
arm-linux-gcc -o testsybase testsybase.c -L /usr/local/freetds-arm/lib/ -lsybdb -I /usr/local/freetds-arm/include/
將生成的文件添加到開發板上即可。
運行時添加環境變量export LD_LIBRARY_PATH=/usr/local/freetds7.0/lib/
Tony Liu
2017-5-26, Shenzhen
總結
以上是生活随笔為你收集整理的freetds 移植的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Photoshop脚本 使用Exten
- 下一篇: ELK 中的elasticsearch