PDOException: SQLSTATE 01002 Adaptive Server conne

2019-07-04 22:35发布

I have been following some answers over stackoverflow.

My odbc. ini (located in /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

My odbcinst.ini

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

Both of these files are empty at first. I just copied answer from the other threads.

My 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

I am using Laravel. Now, after I used the

php artisan migrate 

I got an error of: PDOException: SQLSTATE 01002 Adaptive Server connection failed (severity 9)

Some of stackoverflow answers: possbile cause is TDS version.

So I used 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

I am Using Ubuntu 16

1条回答
Bombasti
2楼-- · 2019-07-04 23:12

Try changing the TDS version to 7.0 or 8.0 and ensure that you have the following packages installed -

php5-sybase 
php5-odbc 
查看更多
登录 后发表回答