Ошибка работы pyodbc 08001 ошибка безопасности SSL

Я пытаюсь подключиться к своей базе данных на MS SQL Server 2016 с помощью pyodbc через приведенный ниже скрипт python с моего ноутбука (в Windows 10) и планирую развернуть код на сервере Linux RHEL 6.4.

conn=pyodbc.connect('Driver={SQL Server};'
                'Server=DB_Instance;'
                'Database=DB_Name;'
                'UID=user_name;'
                'PWD=password;'
                'Trusted_Connection=no;');

На моем ноутбуке уже доступны SQL Server (версия: 10.00.17763.01) и SQL Server Native Client 11.0 (версия: 2011.110.7493.04).

При выполнении сценария python на моем ноутбуке я получаю сообщение об ошибке, указанное ниже.

pyodbc.operationalError: ('08001', '[08001] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] Ошибка безопасности SSL (18) (SQLDriverConnect); [08001] [Microsoft] [Драйвер ODBC SQL Server] [DBNETLIB] ConnectionOpen (SECDoClientHandshake ()). (772) ')

Согласно стандарту организации, TLS 1.0 отключен на сервере Windows, на котором установлен SQL Server в сети. Поскольку я обращаюсь к базе данных через скрипт python, мы не можем временно включить TLS 1.0. Ищу направление. Любая помощь приветствуется!


person Guna    schedule 28.06.2020    source источник
comment
Можете ли вы попробовать использовать драйвер ODBC 17 для SQL Server и посмотреть, сработает ли это для вас?   -  person Gord Thompson    schedule 29.06.2020
comment
Спасибо, Горд. Это устранило мои проблемы с моим ноутбуком на Windows 10. Посмотрю, как это можно сделать на сервере Linux, и буду держать это в курсе. Ценю вашу помощь!   -  person Guna    schedule 30.06.2020
comment
Я столкнулся с другим набором ошибок. При добавлении номера порта к имени сервера проблема была решена. Имя драйвера ODBC также необходимо обновить. conn=pyodbc.connect('Driver={ODBC Driver 17 for SQL Server};' 'Server=DB_Instance,port;' 'Database=DB_Name;' 'UID=user_name;' 'PWD=password;' 'Trusted_Connection=no;');   -  person Guna    schedule 04.07.2020


Ответы (1)


Горд Томпсон указал Гуна в правильном направлении в комментариях:

Можете ли вы попробовать использовать драйвер ODBC 17 для SQL Server и посмотреть, сработает ли это для вас?

- Горд Томпсон

Гуна сказал, что это сработало:

Я столкнулся с другим набором ошибок. При добавлении номера порта к имени сервера проблема была решена. Имя драйвера ODBC также необходимо обновить. conn = pyodbc.connect ('Driver = {ODBC Driver 17 for SQL Server};' 'Server = DB_Instance, port;' 'Database = DB_Name;' 'UID = user_name;' 'PWD = password;' 'Trusted_Connection = no; ');

- Гуна

Разместите это как Wiki сообщества, чтобы любой поисковик мог быстро увидеть, что на него был дан ответ.

person Community    schedule 27.08.2020