Linux下连接MS Sql server 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间

摘要:
在Linux下连接MSSqlserver——使用ODBC/FreeTDS组合(详细)_Space for Hikers_在Baidu Space Linux下连接到MSSqlserver—使用ODBC-FreeTDS结合(详细)最近的工作需要,我了解了以下相关内容。网上信息分散,逻辑不够清晰。这是一个比较全面的总结。要在Linux下连接MSSqlserver,可以使用ODBC/FreeTDS组合。FreeTDS提供在Linux下连接到Sybase或MSSqlServer的ODBC驱动器tdsodbc,并使用yum installfreetds*安装FreeTDS。主机是运行sqlserver的主机的IP地址或域名。上述方法是直接使用freeTDS提供的tsql工具连接到MSSQL数据库,以测试tdsodbc驱动程序是否正确安装。

Linux下连接MS Sql server -- 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间

Linux下连接MS Sql server -- 使用ODBC/FreeTDS组合(详细)

最近工作上需要,了解了下相关内容,网上资料较散,逻辑也不够清晰,这里总结了一下,算是比较全面的(部分内容来自网络)。

在Linux下连接MSSql server,可以使用ODBC/FreeTDS组合。

TDS is Tabular DataStream protocol, used for connecting to MS SQL and Sybase servers over TCP/IP.

FreeTDS is an implementation of TDS.It provide the odbc driver for TDS named tdsodbc.

安装unixODBC和freeTDS

unixODBC是Linux下的ODBC驱动管理器,使用yum install unixODBC*安装unixODBC。

freeTDS提供Linux下连接Sybase或MSSql Server的ODBC驱动tdsodbc,使用yum install freetds* 安装freetds。(Ubuntu下使用aptitude install tdsodbc 直接安装freetds提供的tdsodbc驱动)

tsql是对应于freetds的连接数据库的命令行工具,用来调试是否连接数据库成功(Ubuntu下使用$aptitude install freetds-bin安装)


配置freeTDS

Freetds配置文件在/etc/freetds/freetds.conf 或 /etc/freetds.conf

编辑配置文件,增加一个数据库连接段落:

[MY_MS_SQL]

host = 192.168.2.104

port = 1433

tds version = 7.0

上面MY_MS_SQL是SqlserverName,可以是自己取的有意义名字。host为sqlserver所在主机IP地址或域名。

配置完后,可以使用tsql测试,tsql -S MY_MS_SQL -U username -P password,看到1>提示符就是成功。

如果连接不成功,可以先在数据库服务器上的SQL Server配置管理器上的网络配置看TCP/IP协议是否启用,然后看在服务器上telnet1433端口,看是否端口开放。

需要注意服务器的防火墙配置,可在客户机telnet 1433端口看连接成功否。

以上是直接使用freeTDS自带的tsql工具连接MS SQL数据库测试tdsodbc驱动是否安装正确的方法。

下面我们来配置unixODBC来管理tdsodbc驱动,并调用tdsodbc来连接MS SQL数据库

a)向unixODBC注册tdsodbc驱动

在任意处创建一个文件tds.driver.template eg:/var/tds.driver.template,内容如下:

[FreeTDS]

Description = v0.63 with protocol v8.0

Driver = /usr/local/freetds/lib/libtdsodbc.so

使用命令odbcinst -i -d -f /var/tds.driver.template 注册驱动

以上Driver地址根据实际位置修改

此处亦可以直接vi编辑/etc/odbcinst.ini添加

b)配置ODBC数据源,即配置DSN

配置有三种方法:DSN-less,ODBC-only,ODBC-combined

可参见Preparing ODBC。http://www.freetds.org/userguide/prepodbc.htm

同上,创建一个文件tds.datasource.template内容如下:

[MY_MS_SQL_DSN]

Driver = FreeTDS

Description = ODBC connection via FreeTDS

Trace = No

Servername = MY_MS_SQL

Database = ACUMEN

使用命令odbcinst -i -s -f /var/tds.datasource.template 添加数据源到/etc/odbc.ini

Servername为Freedts配置文件中的SqlserverName;Driver为odbcinst.ini中注册的驱动名称;Database 为使用的数据库。

最后用isql测试:isql MY_MS_SQL username password,如果出现SQL>提示符就说明配置成功

免责声明:文章转载自《Linux下连接MS Sql server 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇oracle 创建用户斐讯n1刷openWrt下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Linux下boost库的编译、安装详解

下载boost源码 boost下载地址 解压到一个目录 tar -zxvf boost_1_66_0.tar.gz 1、正常编译: 进入boost_1_66_0目录中 cd boost_1_66_0 ./bootstrap.sh --with-libraries=all --with-toolset=gcc --with-liraries:需要编译的库...

Linux命令学习笔记2

<1>ps -eaf: 1 ps -eaf |grep tomcat |grep -v grep >/dev/null 2>&1 分为4段 1、ps -eaf 查看当前进程,-e 显示所有进程,a显示终端上的所有进程,包括其他用户的进程,f 全格式。 2、显示的结果通过管道“|”传给第二段 grep tomcat,查找tom...

linux和windows双系统互拷文件乱码问题

http://blog.chinaunix.net/u2/80678/showart_2043323.html   如果你需要在linux下面用到windows下的文件,拷贝上去后经常发现中文显示乱码。。原因是Windows中默认的文件格式是GBK(gb2312),而Linux一般都是UTF-8。比较繁琐的方法是在windows下用程序把内容转换为utf...

Linux升级gcc到最新版本--gcc-9.2.0

1、下载安装包(可以用迅雷之类的下好再传到服务器,因为下载有点慢)wget http://ftp.gnu.org/gnu/gcc/gcc-9.2.0/gcc-9.2.0.tar.gztar -vxf gcc-9.2.0.tar.gz 2、下载依赖文件./contrib/download_prerequisites 如果连接不上服务器或者下载比较慢的话,可以...

Django项目:CMDB(服务器硬件资产自动采集系统)--11--07CMDB文件模式测试采集硬件数据

1 #settings.py 2 # ————————01CMDB获取服务器基本信息———————— 3 import os 4 5 BASEDIR = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))##当前路径 6 7 # 采集资产的方式,选项有:a...

Linux上的free命令详解

解释一下Linux上free命令的输出。 下面是free的运行结果,一共有4行。为了方便说明,我加上了列号。这样可以把free的输出看成一个二维数组FO(Free Output)。例如: FO[2][1] = 24677460 FO[3][2] =10321516 1 2 3 4 5 61 total used free shared buffe...