zoukankan      html  css  js  c++  java
  • Linux下连接MS Sql server 使用ODBC/FreeTDS组合(详细)_徒步旅行者的空间_百度空间

    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>提示符就说明配置成功

  • 相关阅读:
    Android 的快速增长让一些开发人员担忧 狼人:
    Android程序开发入门教程 狼人:
    2010:Android 商机之年 狼人:
    控制力的较量 Android上的博弈 狼人:
    深度解析Windows Phone 7 开发 狼人:
    图解iPhone开发入门教程 狼人:
    用Android LiveCD体验Android 操作系统的魅力 狼人:
    Android 教程之实现动作感应技术 狼人:
    Android版多功能日历,欢迎大家测试 狼人:
    iPhone、Windows Mobile、Symbian、Android移动开发前景分析 狼人:
  • 原文地址:https://www.cnblogs.com/lexus/p/2704382.html
Copyright © 2011-2022 走看看