linux如何创建文件链接(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>提示符就说明配置成功
创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!