Не удается подключиться к базе данных SQL Server с помощью pymssql, но можно подключиться к tsql

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

Вот рабочая команда T-SQL:

tsql -p 1433 -S server.database.windows.net -P 'password' -U username@server -D database_name

Вот неудачный вызов соединения pymsql:

pymssql.connect(server='server.database.windows.net',
                port=1433,
                user='username@server',
                password='password',
                database='database_name')

Вот трассировка ошибки:

Traceback (most recent call last):
  File "pymssql.pyx", line 635, in pymssql.connect (pymssql.c:10734)
  File "_mssql.pyx", line 1902, in _mssql.connect (_mssql.c:21821)
  File "_mssql.pyx", line 637, in _mssql.MSSQLConnection.__init__ (_mssql.c:6581)
  File "_mssql.pyx", line 1630, in _mssql.maybe_raise_MSSQLDatabaseException (_mssql.c:17524)
_mssql.MSSQLDatabaseException: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "smallest.py", line 6, in <module>
    database='database_name')
  File "pymssql.pyx", line 641, in pymssql.connect (pymssql.c:10824)
pymssql.OperationalError: (20002, b'DB-Lib error message 20002, severity 9:\nAdaptive Server connection failed\n')

Кое-что на заметку:

Я специально ограничен database_name, а команда tsql завершится ошибкой с тем же кодом ошибки 20002, что и pymsql без флага -D database_name. Это наводит меня на мысль, что pymsql может передавать это неправильно, но я не уверен, как это проверить.

Ниже приведены дампы, созданные:

    os.environ['TDSDUMPCONFIG'] = 'config'
    os.environ['TDSDUMP'] = 'dump'

Я считаю, что важной частью вышеизложенного является эта строка:

login.c:466:login packet rejected

Кажется, предлагает недопустимые учетные данные.

Любая помощь приветствуется.

TDSDUMPCONFIG:

log.c:196:Starting log file for FreeTDS 0.91
        on 2018-03-23 18:31:34 with debug flags 0x4fff.
config.c:185:Getting connection information for [server:1433].
config.c:189:Attempting to read conf files.
config.c:354:... $FREETDSCONF not set.  Trying $FREETDS/etc.
config.c:367:... $FREETDS not set.  Trying $HOME.
config.c:293:Could not open '/home/ubuntu/.freetds.conf' ((.freetds.conf)).
config.c:297:Found conf file '/etc/freetds/freetds.conf' (default).
config.c:483:Looking for section global.
config.c:540:   Found section global.
config.c:543:Got a match.
config.c:565:   tds version = '7.1'
config.c:788:Setting tds version to 7.1 (0x701) from $TDSVER.
config.c:565:   text size = '64512'
config.c:540:   Found section egserver50.
config.c:540:   Found section egserver70.
config.c:540:   Found section server.
config.c:554:   Reached EOF
config.c:483:Looking for section server:1433.
config.c:540:   Found section global.
config.c:540:   Found section egserver50.
config.c:540:   Found section egserver70.
config.c:540:   Found section server.
config.c:554:   Reached EOF
config.c:303:[server:1433] not found.
config.c:354:... $FREETDSCONF not set.  Trying $FREETDS/etc.
config.c:367:... $FREETDS not set.  Trying $HOME.
config.c:293:Could not open '/home/ubuntu/.freetds.conf' ((.freetds.conf)).
config.c:297:Found conf file '/etc/freetds/freetds.conf' (default).
config.c:483:Looking for section global.
config.c:540:   Found section global.
config.c:543:Got a match.
config.c:565:   tds version = '7.1'
config.c:788:Setting tds version to 7.1 (0x701) from $TDSVER.
config.c:565:   text size = '64512'
config.c:540:   Found section egserver50.
config.c:540:   Found section egserver70.
config.c:540:   Found section server.
config.c:554:   Reached EOF
config.c:483:Looking for section server.
config.c:540:   Found section global.
config.c:540:   Found section egserver50.
config.c:540:   Found section egserver70.
config.c:540:   Found section server.
config.c:543:Got a match.
config.c:565:   host = 'server.database.windows.net'
config.c:595:Found host entry server.database.windows.net.
config.c:599:IP addr is ser.ver.ip.add.
config.c:565:   port = '1433'
config.c:565:   tds version = '7.1'
config.c:788:Setting tds version to 7.1 (0x701) from $TDSVER.
config.c:554:   Reached EOF
config.c:301:Success: [server] defined in /etc/freetds/freetds.conf.
config.c:714:Setting 'dump_file' to 'dump' from $TDSDUMP.
config.c:650:tds_config_login: client_charset is UTF-8.
config.c:655:tds_config_login: database_name is database_name.
config.c:224:Final connection parameters:
config.c:225:            server_name = server:1433
config.c:226:       server_host_name = server.database.windows.net
config.c:227:                ip_addr = ser.ver.ip.add
config.c:228:          instance_name = 
config.c:229:                   port = 1433
config.c:230:          major_version = 7
config.c:231:          minor_version = 1
config.c:232:             block_size = 0
config.c:233:               language = us_english
config.c:234:         server_charset = 
config.c:235:        connect_timeout = 0
config.c:236:       client_host_name = ubuntu-xenial
config.c:237:         client_charset = UTF-8
config.c:238:               app_name = pymssql=2.1.3
config.c:239:              user_name = 
config.c:242:                library = DB-Library
config.c:243:              bulk_copy = 0
config.c:244:      suppress_language = 0
config.c:245:          encrypt level = 0
config.c:246:          query_timeout = 0
config.c:249:               database = database_name
config.c:250:              dump_file = dump
config.c:251:            debug_flags = 0
config.c:252:              text_size = 64512
config.c:253:           broken_dates = 0
config.c:254:     emul_little_endian = 0
config.c:255:      server_realm_name = 

TDSDUMP

log.c:196:Starting log file for FreeTDS 0.91
    on 2018-03-23 18:31:34 with debug flags 0x4fff.
config.c:714:Setting 'dump_file' to 'dump' from $TDSDUMP.
iconv.c:330:tds_iconv_open(0x2a88150, UTF-8)
iconv.c:187:local name for ISO-8859-1 is ISO-8859-1
iconv.c:187:local name for UTF-8 is UTF-8
iconv.c:187:local name for UCS-2LE is UCS-2LE
iconv.c:187:local name for UCS-2BE is UCS-2BE
iconv.c:349:setting up conversions for client charset "UTF-8"
iconv.c:351:preparing iconv for "UTF-8"  "UCS-2LE" conversion
iconv.c:391:preparing iconv for "ISO-8859-1"  "UCS-2LE" conversion
iconv.c:394:tds_iconv_open: done
net.c:207:Connecting to 104.42.238.205 port 1433 (TDS version 7.1)
net.c:272:tds_open_socket: connect(2) returned "Operation now in progress"
net.c:312:tds_open_socket() succeeded
util.c:156:Changed query state from DEAD to IDLE
net.c:743:Sending packet
*************************** BINARY DATA OMITTED

net.c:557:Received header
*************************** BINARY DATA OMITTED


net.c:611:Received packet
*************************** BINARY DATA OMITTED

login.c:1057:detected flag 3
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Allocating epoch #0
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_constate.c:596
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Allocating epoch #1
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_128_GCM_SHA256 (C0.2B)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_256_GCM_SHA384 (C0.2C)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_128_GCM_SHA256 (C0.86)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_256_GCM_SHA384 (C0.87)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA1 (C0.09)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_128_CBC_SHA256 (C0.23)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA1 (C0.0A)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_256_CBC_SHA384 (C0.24)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_128_CBC_SHA256 (C0.72)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_CAMELLIA_256_CBC_SHA384 (C0.73)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_128_CCM (C0.AC)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_AES_256_CCM (C0.AD)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_ECDSA_3DES_EDE_CBC_SHA1 (C0.08)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_128_GCM_SHA256 (C0.2F)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_256_GCM_SHA384 (C0.30)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_CAMELLIA_128_GCM_SHA256 (C0.8A)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.8B)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_128_CBC_SHA1 (C0.13)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_128_CBC_SHA256 (C0.27)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_256_CBC_SHA1 (C0.14)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_AES_256_CBC_SHA384 (C0.28)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_CAMELLIA_128_CBC_SHA256 (C0.76)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_CAMELLIA_256_CBC_SHA384 (C0.77)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_ECDHE_RSA_3DES_EDE_CBC_SHA1 (C0.12)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_128_GCM_SHA256 (00.9C)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_256_GCM_SHA384 (00.9D)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_128_GCM_SHA256 (C0.7A)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_256_GCM_SHA384 (C0.7B)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CBC_SHA1 (00.2F)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CBC_SHA256 (00.3C)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CBC_SHA1 (00.35)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CBC_SHA256 (00.3D)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_128_CBC_SHA1 (00.41)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_128_CBC_SHA256 (00.BA)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_256_CBC_SHA1 (00.84)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_CAMELLIA_256_CBC_SHA256 (00.C0)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_128_CCM (C0.9C)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_AES_256_CCM (C0.9D)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_RSA_3DES_EDE_CBC_SHA1 (00.0A)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_128_GCM_SHA256 (00.9E)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_256_GCM_SHA384 (00.9F)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_128_GCM_SHA256 (C0.7C)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_256_GCM_SHA384 (C0.7D)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_128_CBC_SHA1 (00.33)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_128_CBC_SHA256 (00.67)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_256_CBC_SHA1 (00.39)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_256_CBC_SHA256 (00.6B)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA1 (00.45)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_128_CBC_SHA256 (00.BE)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA1 (00.88)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_CAMELLIA_256_CBC_SHA256 (00.C4)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_128_CCM (C0.9E)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_AES_256_CCM (C0.9F)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Keeping ciphersuite: GNUTLS_DHE_RSA_3DES_EDE_CBC_SHA1 (00.16)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension STATUS REQUEST (5 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension SAFE RENEGOTIATION (1 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension SESSION TICKET (0 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension SUPPORTED ECC (12 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension SUPPORTED ECC POINT FORMATS (2 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (4.1) RSA-SHA256
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (4.3) ECDSA-SHA256
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (5.1) RSA-SHA384
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (5.3) ECDSA-SHA384
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (6.1) RSA-SHA512
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (6.3) ECDSA-SHA512
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (3.1) RSA-SHA224
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (3.3) ECDSA-SHA224
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (2.1) RSA-SHA1
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: sent signature algo (2.3) ECDSA-SHA1
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Sending extension SIGNATURE ALGORITHMS (22 bytes)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: CLIENT HELLO was queued [219 bytes]
net.c:1259:GNUTLS: level 11:
  HWRITE: enqueued [CLIENT HELLO] 219. Total 219 bytes.
net.c:1259:GNUTLS: level 11:
  HWRITE FLUSH: 219 bytes in buffer.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Preparing Packet Handshake(22) with length: 219 and min pad: 0
net.c:1259:GNUTLS: level 9:
  ENC[0x2b43c30]: cipher: NULL, MAC: MAC-NULL, Epoch: 0
net.c:1259:GNUTLS: level 11:
  WRITE: enqueued 224 bytes for 0x2a88150. Total 224 bytes.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Sent Packet[1] Handshake(22) in epoch 0 and length: 224
net.c:1259:GNUTLS: level 11:
  HWRITE: wrote 1 bytes, 0 bytes left.
net.c:1259:GNUTLS: level 11:
  WRITE FLUSH: 224 bytes in buffer.
net.c:1242:in tds_push_func
net.c:1259:GNUTLS: level 11:
  WRITE: wrote 224 bytes, 0 bytes left.
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1201:in tds_pull_func
net.c:743:Sending packet
*************************** BINARY DATA OMITTED

net.c:1214:have 0
net.c:1218:before read
net.c:557:Received header
*************************** BINARY DATA OMITTED


net.c:611:Received packet
*************************** BINARY DATA OMITTED

net.c:1221:after read
net.c:1214:have 4088
net.c:1225:read 5 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 0 bytes into buffer. Adding 5 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 5 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: SSL 3.3 Handshake packet received. Epoch 0, length: 5788
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Expected Packet Handshake(22)
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Received Packet Handshake(22) with length: 5788
net.c:1201:in tds_pull_func
net.c:1214:have 4083
net.c:1225:read 4083 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 4083 bytes from 0x2a88150
net.c:1201:in tds_pull_func
net.c:1214:have 0
net.c:1218:before read
net.c:557:Received header
*************************** BINARY DATA OMITTED

net.c:611:Received packet
*************************** BINARY DATA OMITTED

net.c:1221:after read
net.c:1214:have 1705
net.c:1225:read 1705 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 1705 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 5788 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 5 bytes into buffer. Adding 5788 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 5793 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Decrypted Packet[0] Handshake(22) with length: 5788
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: SERVER HELLO (2) was received. Length 81[5784], frag offset 0, frag length: 81, sequence: 0
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Server's version: 3.3
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: SessionID length: 32
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: SessionID: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Selected cipher suite: ECDHE_RSA_AES_256_CBC_SHA384
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Selected compression method: NULL (0)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Parsing extension 'STATUS REQUEST/5' (0 bytes)
net.c:1259:GNUTLS: level 4:
  EXT[0x2b43c30]: Parsing extension 'SAFE RENEGOTIATION/65281' (1 bytes)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Safe renegotiation succeeded
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: CERTIFICATE (11) was received. Length 3523[5699], frag offset 0, frag length: 3523, sequence: 0
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1392
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: CERTIFICATE STATUS (22) was received. Length 1835[2172], frag offset 0, frag length: 1835, sequence: 0
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1392
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: SERVER KEY EXCHANGE (12) was received. Length 329[333], frag offset 0, frag length: 329, sequence: 0
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1392
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Selected ECC curve SECP256R1 (2)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: verify handshake data: using RSA-SHA1
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: SERVER HELLO DONE (14) was received. Length 0[0], frag offset 0, frag length: 1, sequence: 0
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1145
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1392
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1374
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: CLIENT KEY EXCHANGE was queued [70 bytes]
net.c:1259:GNUTLS: level 11:
  HWRITE: enqueued [CLIENT KEY EXCHANGE] 70. Total 70 bytes.
net.c:1259:GNUTLS: level 11:
  HWRITE: enqueued [CHANGE CIPHER SPEC] 1. Total 71 bytes.
net.c:1259:GNUTLS: level 4:
  REC[0x2b43c30]: Sent ChangeCipherSpec
net.c:1259:GNUTLS: level 9:
  INT: PREMASTER SECRET[32]: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 9:
  INT: CLIENT RANDOM[32]:  *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 9:
  INT: SERVER RANDOM[32]: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 9:
  INT: MASTER SECRET: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Initializing epoch #1
net.c:1259:GNUTLS: level 9:
  INT: KEY BLOCK[160]: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 9:
  INT: CLIENT WRITE KEY [32]:  *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 9:
  INT: SERVER WRITE KEY [32]: *************************** BINARY DATA OMITTED
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Epoch #1 ready
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Cipher Suite: ECDHE_RSA_AES_256_CBC_SHA384
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Initializing internal [write] cipher sessions
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: recording tls-unique CB (send)
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: FINISHED was queued [16 bytes]
net.c:1259:GNUTLS: level 11:
  HWRITE: enqueued [FINISHED] 16. Total 87 bytes.
net.c:1259:GNUTLS: level 11:
  HWRITE FLUSH: 87 bytes in buffer.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Preparing Packet Handshake(22) with length: 70 and min pad: 0
net.c:1259:GNUTLS: level 9:
  ENC[0x2b43c30]: cipher: NULL, MAC: MAC-NULL, Epoch: 0
net.c:1259:GNUTLS: level 11:
  WRITE: enqueued 75 bytes for 0x2a88150. Total 75 bytes.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Sent Packet[2] Handshake(22) in epoch 0 and length: 75
net.c:1259:GNUTLS: level 11:
  HWRITE: wrote 1 bytes, 17 bytes left.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Preparing Packet ChangeCipherSpec(20) with length: 1 and min pad: 0
net.c:1259:GNUTLS: level 9:
  ENC[0x2b43c30]: cipher: NULL, MAC: MAC-NULL, Epoch: 0
net.c:1259:GNUTLS: level 11:
  WRITE: enqueued 6 bytes for 0x2a88150. Total 81 bytes.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Sent Packet[3] ChangeCipherSpec(20) in epoch 0 and length: 6
net.c:1259:GNUTLS: level 11:
  HWRITE: wrote 1 bytes, 16 bytes left.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Preparing Packet Handshake(22) with length: 16 and min pad: 0
net.c:1259:GNUTLS: level 9:
  ENC[0x2b43c30]: cipher: AES-256-CBC, MAC: SHA384, Epoch: 1
net.c:1259:GNUTLS: level 11:
  WRITE: enqueued 101 bytes for 0x2a88150. Total 182 bytes.
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Sent Packet[1] Handshake(22) in epoch 1 and length: 101
net.c:1259:GNUTLS: level 11:
  HWRITE: wrote 1 bytes, 0 bytes left.
net.c:1259:GNUTLS: level 11:
  WRITE FLUSH: 182 bytes in buffer.
net.c:1242:in tds_push_func
net.c:1242:in tds_push_func
net.c:1242:in tds_push_func
net.c:1259:GNUTLS: level 11:
  WRITE: wrote 182 bytes, 0 bytes left.
net.c:1201:in tds_pull_func
net.c:743:Sending packet
*************************** BINARY DATA OMITTED

net.c:1214:have 0
net.c:1218:before read
net.c:557:Received header
*************************** BINARY DATA OMITTED


net.c:611:Received packet
*************************** BINARY DATA OMITTED

net.c:1221:after read
net.c:1214:have 107
net.c:1225:read 5 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 0 bytes into buffer. Adding 5 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 5 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: SSL 3.3 ChangeCipherSpec packet received. Epoch 0, length: 1
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Expected Packet ChangeCipherSpec(20)
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Received Packet ChangeCipherSpec(20) with length: 1
net.c:1201:in tds_pull_func
net.c:1214:have 102
net.c:1225:read 1 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 1 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 1 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 5 bytes into buffer. Adding 1 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 6 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Decrypted Packet[1] ChangeCipherSpec(20) with length: 1
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: Cipher Suite: ECDHE_RSA_AES_256_CBC_SHA384
net.c:1259:GNUTLS: level 3:
  ASSERT: gnutls_buffers.c:1154
net.c:1201:in tds_pull_func
net.c:1214:have 101
net.c:1225:read 5 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 5 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 0 bytes into buffer. Adding 5 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 5 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: SSL 3.3 Handshake packet received. Epoch 0, length: 96
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Expected Packet Handshake(22)
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Received Packet Handshake(22) with length: 96
net.c:1201:in tds_pull_func
net.c:1214:have 96
net.c:1225:read 96 bytes
net.c:1259:GNUTLS: level 10:
  READ: Got 96 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  READ: read 96 bytes from 0x2a88150
net.c:1259:GNUTLS: level 10:
  RB: Have 5 bytes into buffer. Adding 96 bytes.
net.c:1259:GNUTLS: level 10:
  RB: Requested 101 bytes
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Decrypted Packet[0] Handshake(22) with length: 16
net.c:1259:GNUTLS: level 4:
  HSK[0x2b43c30]: FINISHED (20) was received. Length 12[12], frag offset 0, frag length: 12, sequence: 0
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Start of epoch cleanup
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Epoch #0 freed
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: End of epoch cleanup
net.c:1352:handshake succeeded!!
gssapi.c:215:kerberos name MSSQLSvc/server.database.windows.net:1433
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Start of epoch cleanup
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: End of epoch cleanup
net.c:1259:GNUTLS: level 5:
  REC[0x2b43c30]: Epoch #1 freed
login.c:466:login packet rejected
util.c:156:Changed query state from IDLE to DEAD
util.c:331:tdserror(0x2ac2c80, 0x2a88150, 20002, 0)
dblib.c:7929:dbperror(0x2b1cdc0, 20002, 0)
dblib.c:7981:20002: "Adaptive Server connection failed"
dblib.c:8002:"Adaptive Server connection failed", client returns 2 (INT_CANCEL)
util.c:361:tdserror: client library returned TDS_INT_CANCEL(2)
util.c:384:tdserror: returning TDS_INT_CANCEL(2)
dblib.c:1443:dbclose(0x2b1cdc0)
dblib.c:258:dblib_del_connection(0x7f9a5e238780, 0x2a88150)
mem.c:615:tds_free_all_results()
dblib.c:305:dblib_release_tds_ctx(1)
dblib.c:5882:dbfreebuf(0x2b1cdc0)
dblib.c:739:dbloginfree(0x2a9d450)

Мои настройки tsql:

$ tsql -C
Compile-time settings (established with the "configure" script)
                            Version: freetds v0.91
             freetds.conf directory: /etc/freetds
     MS db-lib source compatibility: no
        Sybase binary compatibility: yes
                      Thread safety: yes
                      iconv library: yes
                        TDS version: 7.1
                              iODBC: no
                           unixodbc: yes
              SSPI "trusted" logins: no
                           Kerberos: yes

person Joe    schedule 23.03.2018    source источник
comment
Любое решение этой проблемы?   -  person GrimSmiler    schedule 08.08.2018


Ответы (1)


Вместо этого используйте pyodbc.

import pyodbc
server = 'your_server.database.windows.net'
database = 'your_database'
username = 'your_username'
password = 'your_password'
driver= '{ODBC Driver 13 for SQL Server}'
cnxn = pyodbc.connect('DRIVER='+driver+';PORT=1433;SERVER='+server+';PORT=1443;DATABASE='+database+';UID='+username+';PWD='+ password)
cursor = cnxn.cursor()
cursor.execute("SELECT TOP 20 pc.Name as CategoryName, p.name as ProductName FROM [SalesLT].[ProductCategory] pc JOIN [SalesLT].[Product] p ON pc.productcategoryid = p.productcategoryid")
row = cursor.fetchone()
while row:
    print (str(row[0]) + " " + str(row[1]))
    row = cursor.fetchone()

Для получения дополнительной информации о pyodbc посетите этот URL.

person Alberto Morillo    schedule 23.03.2018