Я получаю сообщение об ошибке при подключении к базе данных sql в Jupyter Notebook - PullRequest
0 голосов
/ 03 июля 2019

Возникла проблема с кодом ниже на jupyter при соединении с БД SQL.

    con = pyodbc.connect('Driver={ODBC Driver 13 for SQL 
    Server};Server='+server+';Database='+database+';Uid='+username+'
    ;Pwd='+passwor 
    d+';Encrypt=yes;TrustServerCertificate=no;Connection 
    Timeout=30;Authentication=ActiveDirectoryPassword')

    Error Description Below:
    OperationalError: ('08001', '[08001] [Microsoft][ODBC Driver 13 for SQL 
    Server]SSL Provider: [error:140A90F1:lib(20):func(169):reason(241)] (-1) 
    (SQLDriverConnect)')

1 Ответ

0 голосов
/ 03 июля 2019

Предполагается, что вы используете Microsoft Azure Notebooks , я попытался воспроизвести вашу проблему успешно, как показано ниже.

enter image description here

Это было вызвано используемой строкой подключения.

На портале Azure вы увидите три строки подключения ODBC, какрисунок ниже.

enter image description here

Очевидно, вы пытаетесь использовать второй, который требует имени пользователя и пароля учетной записи Azure Active Directory, в качествецифра, указанная в официальном документе Using Azure Active Directory with the ODBC Driver

enter image description here

И, согласно тому же документу, версия 13.1 драйвера ODBC кажетсяне поддерживает этот способ аутентификации, пожалуйста, измените на использование версии 17 драйвера ODBC с {ODBC Driver 17 for SQL Server}.

enter image description here

И сначала, пожалуйста, проверьте msodbcsql17, который имеетбыл установлен.

enter image description here

Однако я попытался подключиться с помощью msodbcsql17, но произошел сбой при ошибке времени ожидания входа.Даже я пытался обновить pyodbc с 3.1.1 до 4.0.26 через !pip install pyodbc --upgrade

enter image description here

Поэтому, пожалуйста, попробуйте и, возможно, получите успешное соединение, если вам нужно аутентифицировать AAD для подключения к базе данных SQL.Или переключитесь на первый способ подключения, чтобы использовать имя пользователя и пароль базы данных SQL для подключения с помощью pyodbc==3.1.1 (обновить до 4.0.26, что приведет к другой ошибке) и {ODBC Driver 13 for SQL Server}, это работает для меня.

enter image description here

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...