Linux下通过ODBC连接sqlserver

1、需求:

最近有个需求就是要在linux下连接(可以执行sql语句)sqlserver

2、环境

操作系统:  Centos6.5

数据库:     SQLServer2014

数据库有用户admin,密码是123456,数据库库名是chzh

3、注意:

MS从来没有提供过SQLServer for
Linux,所以也不要去尝试在Linux系统安装SQLServer,但是可以通过ODBC连接Windows系统的SQLServer数据库;

4、所需软件包:

Linux系统的ODBC

unixODBC-2.2.11.tar.gz ( http://www.unixodbc.org )

连接SQLServer或Sybase的驱动

freetds-stable.tgz ( 、安装配置

(必须在root下用户安装)

1、安装unixODBC

# tar vxzf unixODBC-2.2.11.tar.gz

# cd unixODBC-2.2.11

# ./configure --prefix=/usr/local/unixODBC
--enable-gui=no --enable-drivers=no --with-qt-dir=/usr/lib/qt-3.3

# make

# make install

2、安装freetds

# tar vxzf freetds-stable.tgz

# cd freetds-0.64

# ./configure --prefix=/usr/local/freetds
--with-unixodbc=/usr/local/unixODBC --with-tdsver=8.0

# make

# make install

3、配置freetds

# cd /usr/local/freetds

# vi etc/freetds.conf

修改成以下内容:

[global]

# TDS
protocol version

tds
version = 8.0

[SQLServer2014]

host = 10.0.0.3

port = 1433

tds
version = 8.0

client charset
= UTF-8

其中的[SQLServer2014]代表在客户端使用的服务器名称(在tsql命令中要加入-S SQLServer2014),host代表SQLServer服务器的IP地址,port代表端口.client charset 是客户端使用的字符集, client charset 必需大于或等于服务端数据库使用的字符集。

6、测试连接:

# /usr/local/freetds/bin/tsql -S 10.0.0.3 -U admin

locale is "zh_CN.UTF-8"

locale charset is "UTF-8"

Password: 123456

1>

在这里我们就可以输入sql语句了。

附件列表

04-14 05:53