2012-07-30 15 views
5

Estoy tratando de conectarme a SQL-Azure desde Ubuntu 12.04.Error de lectura del servidor al intentar conectar con sql-azure desde tsql

He compilado FreeTDS-0.91 con openssl y libiconf

tsql -H XXXXXXXX.database.windows.net -U Username -D DatabaseName -p 1433 -P Password 

Trato conectarse a través de la declaración anterior y me sale este error:

locale is "en_ZA.UTF-8" 
locale charset is "UTF-8" 
using default charset "UTF-8" 
Default database being set to DatabaseName 
Error 20004 (severity 9): 
    Read from the server failed 
    OS error 104, "Connection reset by peer" 
Error 20002 (severity 9): 
    Adaptive Server connection failed 
There was a problem connecting to the server 

Mi salida 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 

No puedo encontrar ninguna información sobre lo que está causando y cómo resolver este problema.

Cualquier ayuda será muy apreciada.

Respuesta

14

El error se debe al uso de la versión incorrecta de TDS.

Para resolver sólo tiene que especificar la versión TDS antes del comando TSQL:

TDSVER=8.0 tsql -H XXXXXXXX.database.windows.net -U Username -D DatabaseName -p 1433 -P Password 
+2

2015 de 14.04 LTS: Use 'TDSVER = 7.1' lugar. Consulte: http://stackoverflow.com/q/10889294/272735 – user272735

1

¿Su dirección IP está en la lista blanca del servidor de la base de datos? Si no, no podrás conectarte.

0

ver con la versión 8.0 TDS trabajado para mí.

sólo hay que poner en /etc/freetds/freetds.conf permanecer permanente actualización

2
in freetds.conf 

[servername] 
host = ipAddress 
port = 1433 
tds version = 8.0 

for checking freetds connection 
=============================== 

$tsql -S servername -U username 
password 
+0

Si sería útil si agregó una explicación a esta respuesta –

+0

Principalmente este "Error 20002 (gravedad 9): Falló la conexión del servidor de Adaptive Hubo un problema al conectar al servidor "sucede por la declaración de error en freetds.conf. algunos pueden contener el archivo en /etc/freetds.conf y algunos pueden mantenerlo en/usr/local/etc. en freetds.conf al final de las líneas, agregue el fragmento de código que se mencionó para ponerlo en freetds.conf ... y verificando la conexión de freetds usando el comando tsql. Creo que podría ser útil para ti. –

Cuestiones relacionadas