Подключение к MS SQL (Azure) с помощью FreeTDS

Я использую Mac OS X Mavericks и пытаюсь использовать pyodbc для подключения к серверу Microsoft Azure MS SQL. Я хочу использовать соединение без DSN для простоты и установил FreeTDS и pyodbc (поскольку это то, что я хочу в конечном итоге использовать) с помощью MacPorts.

1. tsql config

$ tsql -C

Compile-time settings (established with the "configure" script)
                            Version: freetds v0.91.103
             freetds.conf directory: /opt/local/etc/freetds
     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

2. odbc.ini (/opt/local/var/macports/sources/rsync.macports.org/release/tarballs/ports/databases/MyODBC/files/odbc.ini)

[MSSQL]
Description = MyDatabase
Driver = FreeTDS
Servername = xxxxxxx.database.windows.net
UID = username
PWD = password
Port = 1433
TDS_Version = 7.0

3. isql test

$ isql -v MSSQL

[IM002][unixODBC][Driver Manager]Data source name not found, and no default driver specified
[ISQL]ERROR: Could not SQLConnect

4. tsql test

$ tsql -H xxxxxxxx.database.windows.net -p 1433 -U xxxxxx -P xxxxxx

locale is "en_AU.UTF-8" 
locale charset is "UTF-8"
using default charset "UTF-8"
Error 20002 (severity 9):
Adaptive Server connection failed
There was a problem connecting to the server

Я пробовал использовать TDSVER=8.0 и TDSVER=7.1 перед командой, как это сделано в этом посте. Используя TDSVER=7.1, я получаю немного другую ошибку ...

Error 20017 (severity 9):
    Unexpected EOF from the server
Error 20002 (severity 9):
    Adaptive Server connection failed
There was a problem connecting to the server

Может ли кто-нибудь помочь мне диагностировать и пройти через это?

Спасибо!


person Carl    schedule 12.09.2014    source источник


Ответы (1)


Проверьте эту ссылку. Он решил мои проблемы, похожие на ваши.

http://martinrichards.tumblr.com/post/28488121620/connecting-to-sql-azure-using-freetds

person Jan    schedule 19.09.2014
comment
Спасибо за помощь, Ян. Попробовал собрать свежую копию FreeTDS, и, похоже, это помогло мне решить эту проблему. Это было ключом к его компиляции с помощью openssl, поскольку версия для macports его не включает. - person Carl; 23.09.2014
comment
Мне пришлось установить openssl перед созданием и установкой freetds (sudo apt-get install libssl-dev) - person Paul Charlton; 12.12.2019