Pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC Driver 18 для SQL Server]Поставщик SSL: [SSL-процедуры::ошиPython

Программы на Python
Ответить
Anonymous
 Pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC Driver 18 для SQL Server]Поставщик SSL: [SSL-процедуры::оши

Сообщение Anonymous »

Я создал докер-контейнер sql-сервера с помощью приведенной ниже команды.

Код: Выделить всё

sudo  docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=Password123#" -p 1433:1433 -d mcr.microsoft.com/mssql/server:2022-latest
Докер-контейнер с сервером sql работает нормально.

Код: Выделить всё

~ sudo docker ps
CONTAINER ID   IMAGE                                        COMMAND                  CREATED              STATUS              PORTS                                            NAMES
15ddaf978ba9   mcr.microsoft.com/mssql/server:2022-latest   "/opt/mssql/bin/perm…"   About a minute ago   Up About a minute   0.0.0.0:1433->1433/tcp, :::1433->1433/tcp        quirky_feistel
теперь я создал логин и пользователя, используя команду ниже -

Код: Выделить всё

~ sqlcmd -S localhost -U SA -P "Password123#" -C
1> create database demo;
2> create login demo with password 'Demo123#';
3> alter server role sysadmin add member demo;
4> use demo;
5> create user demo for login demo;
6> alter use demo with default_schema='demo';
7> alter role SA add member demo;
8>
теперь я пытаюсь получить доступ к базе данных из Python с помощью pyodbc, используя программу ниже.

Код: Выделить всё

import pyodbc

SERVER = 'localhost,1433'
DATABASE = 'demo'
USERNAME = 'demo'
PASSWORD = 'Demo123#'
#cnxn_str = f'DRIVER={{ODBC Driver 18 for SQL Server}};SERVER={SERVER};DATABASE={DATABASE};Integrated_Security=false;Trusted_Connection=yes;UID={USERNAME};PWD={PASSWORD}'
#print(cnxn_str)

cnxn = pyodbc.connect(driver='{ODBC Driver 18 for SQL Server}',
server=SERVER,
database=DATABASE,
trusted_connection='yes',
trust_server_certificate='yes',
username=USERNAME,
password=PASSWORD)
Когда я запускаю программу, я получаю сообщение об ошибке ниже -

Код: Выделить всё

 ./venv/bin/python  pydemo.py
Traceback (most recent call last):
File "/home/raj/Coding/python/pyodbc-demo/pydemo.py", line 10, in 
cnxn = pyodbc.connect(driver='{ODBC Driver 18 for SQL Server}',
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
pyodbc.OperationalError: ('08001', '[08001] [Microsoft][ODBC Driver 18 for SQL Server]SSL Provider: [error:0A000086:SSL routines::certificate verify failed:self-signed certificate] (-1) (SQLDriverConnect)')
Как исправить эту ошибку?
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»