2016-10-06 1 views
3

J'ai suivi certaines réponses sur stackoverflow.PDOException: Echec de la connexion à SQLSTATE 01002 Adaptive Server (gravité 9)

Mon odbc. ini (situé dans /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 

Mon odbcinst.ini

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

Ces deux fichiers sont vides au début. Je viens de copier la réponse des autres threads.

Mon 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 

J'utilise Laravel. Maintenant, après avoir utilisé le

php artisan migrate 

Je suis une erreur de: PDOException: SQLSTATE 01002 connexion Adaptive Server a échoué (sévérité 9)

Certaines des réponses stackoverflow: possbile cause est la version TDS.

J'utilisé 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 

J'utilise Ubuntu 16

+0

Est-ce EasySoft-ODBC Driver résoudra tout mon problème? http://www.easysoft.com/products/data_access/odbc-sql-server-driver/getting-started.html –

Répondre

0

Essayez de changer la version TDS 7.0 ou 8.0 et assurez-vous que vous avez installé les paquetages suivants -

php5-sybase 
php5-odbc 
+0

comment changer ma version de TDS. J'ai déjà édité tous les fichiers .ini. –

+0

Votre fichier freetds.conf affiche la version 8.0 mais lorsque vous exécutez tsql -C la version TDS est listée à 5.0 Êtes-vous sûr que tds fait référence au bon fichier freetds.conf? Ce lien mon aide - [freetds.org/userguide/freetdsconf.htm](http://www.freetds.org/userguide/freetdsconf.htm) – 8bitreboot

+0

Aussi, à l'épreuve du futur, vous voudrez utiliser TDS Version 7.1 , * pas * 8.0. N'utilisez jamais 8.0, c'est une valeur obsolète qui sera supprimée de FreeTDS. – FlipperPA