Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения:База данных SQL Azure Управляемый экземпляр SQL Azure
Azure Synapse Analytics
При работе с этим кратким руководством вы будете использовать Python для подключения к Базе данных SQL Azure, Управляемому экземпляру SQL Azure или базе данных Synapse SQL, а затем выполните запрос данных с помощью инструкций T-SQL.
Документация mssql-python | Исходный код mssql-python | Пакет (PyPi)
Необходимые компоненты
Для работы с этим кратким руководством вам понадобится:
Учетная запись Azure с активной подпиской. Создайте учетную запись бесплатно .
База данных
Для создания и настройки базы данных можно использовать одно из этих кратких руководств.
Действие База данных SQL Управляемый экземпляр SQL SQL Server на виртуальной машине Azure Azure Synapse Analytics Создание Портал Портал Портал Портал CLI CLI PowerShell PowerShell PowerShell PowerShell Шаблон развертывания Шаблон развертывания Шаблон развертывания Шаблон развертывания Настройка Правило брандмауэра для IP-адресов на уровне сервера Подключение из виртуальной машины Параметры подключения Подключение из локальной сети Подключение к экземпляру SQL Server Получение сведений о подключении Azure SQL Azure SQL Виртуальная машина SQL Synapse SQL Python 3
Если у вас ещё нет Python, установите Python runtime и диспетчер пакетов Python Package Index (PyPI) с python.org.
Предпочитаете не использовать собственную среду? Откройте в качестве devcontainer с помощью GitHub Codespaces.
База данных на SQL Server, Azure SQL Database или базе данных SQL в Fabric с примерной схемой
AdventureWorks2022
и допустимой строкой подключения.
Настройка
Выполните следующие действия, чтобы настроить среду разработки для разработки приложения с помощью mssql-python
драйвера Python.
Замечание
Этот драйвер использует протокол табличного потока данных (TDS ), который включен по умолчанию в SQL Server, базе данных SQL в Fabric и Базе данных SQL Azure. Дополнительная конфигурация не требуется.
Установка пакета mssql-python
mssql-python
Получите пакет из PyPI.
Откройте командную строку в пустом каталоге.
Установите пакет
mssql-python
.
Установка пакета python-dotenv
Получите python-dotenv
с PyPI.
В том же каталоге установите
python-dotenv
пакет.pip install python-dotenv
Проверка установленных пакетов
Средство командной строки PyPI можно использовать для проверки установки предполагаемых пакетов.
Проверьте список установленных пакетов с помощью
pip list
.pip list
Создание новых файлов
В текущем каталоге создайте новый файл с именем
.env
.В файле
.env
добавьте запись для строки подключения с именемSQL_CONNECTION_STRING
. Замените пример фактическим значением строки подключения.SQL_CONNECTION_STRING="Server=<server_name>;Database={<database_name>};Encrypt=yes;TrustServerCertificate=no;Authentication=ActiveDirectoryInteractive"
Подсказка
Строка подключения, используемая здесь, в значительной степени зависит от типа базы данных SQL, к которой вы подключаетесь. Если вы подключаетесь к базе данных SQL Azure или базе данных SQL в Fabric, используйте строку подключения ODBC на вкладке строк подключения. Возможно, вам потребуется настроить тип проверки подлинности в зависимости от вашего сценария. Дополнительные сведения о строках подключения и их синтаксисе см. в разделе DSN и ключевые слова строки подключения и атрибуты.
Создайте файл sqltest.py в текстовом редакторе.
Добавьте следующий код.
from os import getenv from dotenv import load_dotenv from mssql_python import connect load_dotenv() with connect(getenv("SQL_CONNECTION_STRING")) as conn: with conn.cursor() as cursor: cursor.execute("SELECT TOP 3 name, collation_name FROM sys.databases") rows = cursor.fetchall() for row in rows: print(row.name, row.collation_name)
Выполнение кода
В командной строке выполните следующую команду:
python sqltest.py
Убедитесь, что возвращены базы данных и их параметры сортировки, и закройте командное окно.
Если появится сообщение об ошибке:
Убедитесь, что имя сервера, имя базы данных, имя пользователя и пароль, который вы используете, правильны.
Если вы запускаете код из локальной среды, убедитесь, что брандмауэр ресурса Azure, к которому вы пытаетесь получить доступ, настроен для разрешения доступа с IP-адреса вашей среды.