Почему я могу подключиться к Azure SQL с помощью tsql, но не могу подключиться к pymssql в CentOS?

Я могу подключиться к Azure SQL Server с помощью T-SQL, как показано ниже.

tsql -H testdb.database.windows.net -p 1433 -U testuser -P testpass -D testdb

Я не могу подключиться, когда использую pymssql.

>>import pymssql
>>connection = pymssql.connect(server='testdb', user='testuser@testdb', password='testpass', database='testdb')

Это не удается с ошибкой:

Непредвиденная ошибка:
Отслеживание (последний последний вызов):
Файл "pymssql.pyx", строка 635, в pymssql.connect (pymssql.c:10734)
Файл "_mssql.pyx", строка 1902 , в _mssql.connect (_mssql.c:21821)
Файл "_mssql.pyx", строка 637, в _mssql.MSSQLConnection.init (_mssql.c:6581)
Файл " _mssql.pyx", строка 1630, в _mssql.maybe_raise_MSSQLDatabaseException (_mssql.c:17524)
_mssql.MSSQLDatabaseException: (20002, сообщение об ошибке b'DB-Lib 20002, серьезность 9:\nПодключение к адаптивному серверу не удалось (testdb:1433 )\n')

Во время обработки вышеупомянутого исключения произошло другое исключение:

Отслеживание (последний последний вызов):
Файл "./testdb_Azure_Test.py", строка 13, в
connection = pymssql.connect(server='testdb', user='testuser@testdb', password=' testpass', database='testdb')
Файл "pymssql.pyx", строка 641, в pymssql.connect (pymssql.c:10824)
pymssql.OperationalError: (20002, сообщение об ошибке b'DB-Lib 20002, серьезность 9:\nСбой подключения к Adaptive Server (testdb:1433)\n')

После проверки того же типа проблемы здесь. Я выполнил все упомянутые шаги и установил SSL с сайта openssl.org, потому что в CentOS нет связанного с ним SSL.

Я установил SSL (OpenSSL 1.0.1e-fips 11 февраля 2013 г.) с openssl.org и версию freeTDS (FreeTDS 0.95.19) и использовал python3.5.

Когда я проверял с помощью tsql -C, он показал OpenSSL = YES и TDS Version 7.3.

    Compile-time settings (established with the "configure" script)
                                Version: freetds v0.95
                 freetds.conf directory: /usr/local/etc
         MS db-lib source compatibility: no
            Sybase binary compatibility: no
                          Thread safety: yes
                          iconv library: yes
                            TDS version: 7.3
                                  iODBC: no
                               unixodbc: no
                  SSPI "trusted" logins: no
                               Kerberos: no
                                OpenSSL: yes
                                 GnuTLS: no

Я все еще фазирую ту же проблему, не уверен, что я делаю неправильно. Является ли версия, которую я использовал для SSL, старой, мне нужно установить любую новую версию.

Я знаю, что это работает в большинстве случаев после установки SSL. Пожалуйста, сообщите, что я уже давно борюсь с этой проблемой. Пожалуйста, сообщите, что мне не хватает и какие шаги и версии мне нужно выполнить, чтобы Azure заработал.

Я ценю вашу помощь заранее.


person Srinivas    schedule 14.02.2018    source источник
comment
Итак, после того, как вы установили OpenSSL, вы переустановили pymssql из исходного кода?   -  person Gord Thompson    schedule 15.02.2018
comment
Да, я выполнил шаги, упомянутые в предыдущей теме. Сначала удалил (python -m pip uninstall pymssql) pymssql, а затем переустановил из исходного кода (python -m pip install --no-binary pymssql pymssql). Не уверен, как проверить, он установил обновленную версию с новой сборкой на SSL.   -  person Srinivas    schedule 16.02.2018
comment
при подключении с использованием pymssql по-прежнему используется версия TDS по умолчанию 7.1, как и раньше, а не из файла freeTDS.conf (TDS 7.3). Когда я использовал TSQL, он брал версию TDS из файла freeTDS.conf.   -  person Srinivas    schedule 16.02.2018
comment
После удаления «pymssql» и переустановки с использованием приведенной ниже опции появилось сообщение ниже. #/opt/anaconda3/bin/python -m pip install --no-binary pymssql pymssql Сбор pymssql Использование кэшированного pymssql-2.1.3.tar.gz Пропуск bdist_wheel для pymssql из-за того, что для него отключены двоичные файлы. Установка собранных пакетов: pymssql Запуск установки setup.py для pymssql... готово Успешно установлен pymssql-2.1.3   -  person Srinivas    schedule 20.02.2018
comment
@ Шринивас, ты решил это?   -  person Nilesh    schedule 01.06.2019