freetds使用(一)--- 安装和使用
刘浩思
2023-12-01
1 安装
wget http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz
tar -zxvf freetds-stable.tgz
cd freetds-0.91/
su - root
./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
make
make install
exit
2 测试
cd /usr/local/freetds/bin
./tsql -C
3 小技巧
sudo ln -s /usr/local/freetds/bin/tsql /usr/bin/tsql
这样在任何目录下都可以 tsql -C 了
4 配置文件
路径:/usr/local/freetds/etc
例如: freetds.conf文件:
[global]
tds version = 4.2
[myserver]
host = ntbox.mydomain.com
port = 1433
[myserver2]
host = unixbox.mydomain.com
port = 4000
tds version = 5.0
这个文件中global设置所有数据库使用tds版本为4.2,但在myserver2中使用的版本却是5.0, 如果myserver2中没有这一项,那就是用4.2版本的如myserver。
其配置项解释如下:
ltds version : 指明tds协议的版本,连接数据库时使用,如果在环境变量中没有设置 此项,则由此配置决定,协议版本可取4.2,5.0,7.0,8.0。
lhost : 数据库服务器的主机名或者ip地址。
lport : 数据库服务器的监听端口,可以取任何有效的端口值,一般而言Sybase SQL10以前为 1433,10以上用5000,而Sybase SQLAnywhere 7是2638,Microsoft SQL server则用 1433。此配置可以被环境变量中的TDSPORT改写。
linitial block size : 此值只能取512的倍数,默认为512,指定了协议块的最大值, 一般不要改变此默认 配置。
ldump file : 任何有效的文件名,指明了转储文件的路径并且会打开日志记录。
ldump file append: yes或者no,决定是否追加保存到dump file文件中。
ltimeout :设置处理的最大等待时间。
lconnect timeout: 设置连接的最大等待时间。
lemulate little endian: yes或者no,是否强制大端机使用小端方式与MS Server通信。
lclient charset : 任何有效的iconv字符集。默认值为ISO-8859-1,使FreeTDS使用 iconv在数据库服务器和用户程序之间转换。
5 测试连接
$ tsql -H MSSQL服务器服务IP -p 1433 -U MSSQL服务器登陆帐号 -P MSSQL服务器登陆密码
复制代码
$ tsql -H XXXXXX-p 1433 -U sa -P XXXXXX -D test
locale is "zh_CN.utf8"
locale charset is "UTF-8"
Default database being set to test
1> select @@version
2> go
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86)
Apr 2 2010 15:53:02
Copyright (c) Microsoft Corporation
Data Center Edition on Windows NT 5.1 <X86> (Build 2600: Service Pack 3)
(1 row affected)
1> use test [使用test数据库]
2> go
1> select * from StuInfo [查询表信息]
2> go
StuID Name Age
001 zyh 24
002 zkl 21
003 Jim 24
(3 rows affected)