CentOS下安装FreeTDS

导读

官方网站:http://www.freetds.orgc++

下载地址:http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgzsql

这个软件可以用Linux和Unix链接MS SQLServer和Sybase数据库数据库

安装与配置

  1. 首先下载FreeTDS安装包到服务器
wget -c http://ibiblio.org/pub/Linux/ALPHA/freetds/stable/freetds-stable.tgz复制代码

1

  1. 解压
tar -zxvf freetds-stable.tgz复制代码

2

  1. 编译安装
    1. 由于是编译安装因此确保机器有安装gcc(可以使用yum进行安装)
yum install gcc-c++
      yum install ncurses-devel复制代码

  1. 开始安装
cd freetds-0.91/
      ./configure --prefix=/usr/local/freetds --with-tdsver=8.0 --enable-msdblib
      make && makeinstall复制代码

`解释:
          安装freetds到目录/usr/local/freetds:--prefix=/usr/local/freetds
          支持MSSQL2000:--with-tdsver=8.0 --enable-msdblib`复制代码

3

4

5

  1. FreeTDS默认安装在/usr/local/freetds目录当中,库文件在相应的lib目录下。

vim /etc/ld.so.conf加入一行 /usr/local/freetds/libvim

  1. 而后运行如下指令使更改生效:
ldconfig复制代码

  1. 测试链接

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)复制代码

问题

**Adaptive Server connection failed**复制代码
locale is "en_US.UTF-8"
   locale charset is "UTF-8"
   using default charset "UTF-8"
   Error 20017 (severity 9):
           Unexpected EOF from the server
           OS error 115, "Operation now in progress"
   Error 20002 (severity 9):
           Adaptive Server connection failed
   There was a problem connecting to the server复制代码

执行tsql -Cmarkdown

[root@thinkpa freetds-0.91]# tsql -C
   Compile-time settings (established with the "configure" script)
                               Version: freetds v0.91
                freetds.conf directory: /usr/local/etc
        MS db-lib source compatibility: no
           Sybase binary compatibility: no
                         Thread safety: yes
                         iconv library: yes
                           TDS version: 5.0
                                 iODBC: no
                              unixodbc: no
                 SSPI "trusted" logins: no
                              Kerberos: no复制代码

发现freetds的版本是5.0,考虑到多是freetds版本的问题测试

两种解决方式:网站

  1. 修改全局TDS 版本号
找到`/usr/local/etc/freetds.conf`修改`[global]`下面的`tds version`为`8.0`复制代码
  1. 链接时修改tds版本号
`TDSVER=7.0 tsql -H`复制代码
整个链接命令则变为:复制代码
`tsql -H MSSQL服务器服务IP -p 1433 -U MSSQL服务器登录账号 -P MSSQL服务器登录密码`复制代码
**Adaptive Server connection failed**复制代码
"Cannot open server 'xxxxxxx' requested by the login. Client with IP    address 'xxxxxxxxx' is not allowed to access the server.  To enable       access, use the Windows Azure Management Portal or run                   sp_set_firewall_rule on the master database to create a firewall       rule for this IP address or address range.  It may take up to five       minutes for this change to take effect."
   Error 20002 (severity 9):
           Adaptive Server connection failed复制代码

这个毋庸置疑了,找管理员开通白名单再访问吧!ui

相关文章
相关标签/搜索