2012-07-30 12 views
5

Tôi đang cố gắng kết nối với SQL-Azure từ Ubuntu 12.04.Đọc từ máy chủ không thành công khi cố gắng kết nối với sql-azure từ tsql

tôi đã biên soạn freetds-0,91 với openssl và libiconf

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

tôi cố gắng kết nối sử dụng câu lệnh trên và tôi nhận được lỗi này:

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 

My ra 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 

Tôi dường như không tìm thấy bất kỳ thông tin nào về nguyên nhân gây ra và cách giải quyết vấn đề này.

Bất kỳ trợ giúp nào sẽ được ứng dụng nhiều.

Trả lời

14

Lỗi do việc sử dụng phiên bản TDS sai.

Để giải quyết chỉ rõ phiên bản TDS trước khi lệnh TSQL:

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

2015 cho 14.04 LTS: Sử dụng 'TDSVER = 7.1' để thay thế. Xem: http://stackoverflow.com/q/10889294/272735 – user272735

1

Địa chỉ IP của bạn có được danh sách trắng đưa vào máy chủ cơ sở dữ liệu không? Nếu không, bạn sẽ không thể kết nối.

0

làm với TDS phiên bản 8.0 đã làm việc cho tôi.

Chỉ cần đặt trong /etc/freetds/freetds.conf ở lại vĩnh viễn cập nhật

2
in freetds.conf 

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

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

$tsql -S servername -U username 
password 
+0

Nếu hữu ích nếu bạn thêm giải thích cho câu trả lời này –

+0

Chủ yếu là "Lỗi 20002 (mức độ nghiêm trọng 9): Kết nối Máy chủ Thích ứng không thành công Đã xảy ra sự cố khi kết nối đến máy chủ "nó xảy ra do khai báo bỏ lỡ trong freetds.conf. một số có thể giữ tập tin trong /etc/freetds.conf và một số có thể giữ nó trong/usr/local/etc. trong freetds.conf ở cuối dòng thêm đoạn mã đã cho mà tôi đã được đề cập để đặt trong freetds.conf ... và kiểm tra kết nối freetds bằng lệnh tsql. tôi nghĩ rằng nó có thể hữu ích cho bạn. –