在LINUX上访问Microsoft SQL Server数据库
十一月 4, 2009 – 3:54 下午在LINUX上访问Microsoft SQL Server数据库
Microsoft SQL Server在linux环境下没有客户端,所以不能直接在linux通过客户端访问SQL SERVER数据库。
FreeTDS提供一套函数库, 让Unix与Linux环境的程式可以通过它访问Microsoft SQL Server与Sybase database。
一,FreeTDS安装
Step 1:下载FreeTDS
去FreeTDS官方网址http://www.freetds.org/下载freetds-stable.tar软件包。
Step 2:解压并安装
$ tar zxvf freetds-stable.tgz(解压)
$ ./configure –prefix=/usr/local/freetds –with-tdsver=8.0 –enable-msdblib
$ make
$ make install(需要root执行)
Step 3:配置
修改 /etc/ld.so.conf, 加入 /usr/local/freetds/lib; 完成後再執行 ldconfig
修改用户profile
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/freetds/lib/
export FREETDS=/usr/local/freetds
export PATH=$PATH:$FREETDS/bin
二,FreeTDS的测试
1,直接连接
tsql -H 10.16.14.67 -p 1433 -U robit -P littlerobit
参数说明:
-H:hostname
-P:port
-U:username
-P:password
[oracle@dw_testdb ~]$ tsql -H 10.16.14.67 -p 1433 -U robit -P littlerobit
locale is “zh_CN.utf8″
locale charset is “UTF-8″
Password:
1> select * from sunwg;
2> go
id
1
2,配置freetds.conf(类似tnsname.ora)
修改 /usr/local/freetds/etc/freetds.conf
[robit]
host = 10.16.14.67
port = 1433
client charset = cp950
tds version = 8.0
tsql -S robit -U robit
参数说明:
-S:server
-U:username
[oracle@dw_testdb ~]$ tsql -S robit -U robit
locale is “zh_CN.utf8″
locale charset is “UTF-8″
Password:
1> select * from sunwg;
2> go
id
1
注意:
1,如果字符集存在问题的话,需要修改字符集
export LANG=zh_CN.utf8