在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

Post a Comment