PDOException:SQLSTATE 01002 Adaptive Server连接失败(严重级9)

时间:2016-10-06 18:01:15

标签: php laravel freetds sqlsrv unixodbc

我一直关注stackoverflow的一些答案。

我的odbc。 ini(位于/etc/odbc.ini)

[MSSQL]
Description = MS SQL Server
Driver = /usr/local/lib/libtdsodbc.so
Server = host.of.the.server
UID = myusername
PWD = mypassword
ReadOnly = No
Port = 1433
tds version = 8.0

我的odbcinst.ini

[FreeTDS]
Description = FreeTDS driver
Driver = /usr/local/lib/libtdsodbc.so
Setup=/usr/lib/odbc/libtdsS.so
FileUsage = 1
UsageCount = 1

这两个文件最初都是空的。我只是复制了其他帖子的答案。

我的freetds.conf

# Global settings are overridden by those in a database
# server specific section
[global]
        # TDS protocol version
;       tds version = 8.0

        # Whether to write a TDSDUMP file for diagnostic purposes
        # (setting this to /tmp is insecure on a multi-user system)
;       dump file = /tmp/freetds.log
;       debug flags = 0xffff

        # Command and connection timeouts
;       timeout = 10
;       connect timeout = 10

        # If you get out-of-memory errors, it may mean that your client
        # is trying to allocate a huge buffer for a TEXT field.
        # Try setting 'text size' to a more reasonable limit
        text size = 64512

# A typical Sybase server
[egServer50]
        host = symachine.domain.com
        port = 5000
        tds version = 8.0

# A typical Microsoft server
[egServer70]
        host = ntmachine.domain.com
        port = 1433
        tds version = 7.0

我正在使用Laravel。现在,在我使用

之后
php artisan migrate 

我遇到错误:PDOException:SQLSTATE 01002 Adaptive Server连接失败(严重级9)

一些stackoverflow答案:可能的原因是TDS版本。

所以我使用了tsql -C

    Version: freetds v0.91
         freetds.conf directory: /usr/local/etc
 MS db-lib source compatibility: yes
    Sybase binary compatibility: no
                  Thread safety: yes
                  iconv library: yes
                    TDS version: 5.0
                          iODBC: no
                       unixodbc: yes
          SSPI "trusted" logins: no
                       Kerberos: no

我正在使用Ubuntu 16

1 个答案:

答案 0 :(得分:0)

尝试将TDS版本更改为7.0或8.0,并确保已安装以下软件包 -

php5-sybase 
php5-odbc