你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
适用于:Azure SQL 数据库
Azure SQL 托管实例
Azure Synapse Analytics
在本快速入门中,你将使用 Python 连接到 Azure SQL 数据库、Azure SQL 托管实例或 Synapse SQL 数据库,并使用 T-SQL 语句来查询数据。
mssql-python 文档 | mssql-python 源代码 | 包 (PyPi)
先决条件
若要完成本快速入门,你需要:
具有活动订阅的 Azure 帐户。 免费创建帐户。
数据库
可以根据下述快速入门之一,创建数据库,然后对其进行配置:
操作 SQL Database SQL 托管实例 Azure VM 上的 SQL Server Azure Synapse Analytics 创建 门户 门户 门户 门户 CLI CLI PowerShell PowerShell PowerShell PowerShell 部署模板 部署模板 部署模板 部署模板 配置 服务器级别 IP 防火墙规则 从 VM 进行连接 连接设置 来自本地的连接 连接到 SQL Server 实例 获取连接信息 Azure SQL Azure SQL SQL VM Synapse SQL Python 3
如果还没有 Python,请从 python.org 安装 Python 运行时和 Python 包索引(PyPI)包管理器。
更倾向于不使用自己的环境吗? 使用 GitHub Codespaces 以 devcontainer 身份打开。
在 SQL Server、Azure SQL 数据库或 Fabric 中的 SQL 数据库上使用
AdventureWorks2022示例架构和有效连接字符串的数据库。
设置
按照以下步骤配置开发环境,以使用 mssql-python Python 驱动程序开发应用程序。
注释
此驱动程序使用 表格数据流(TDS) 协议,该协议默认在 SQL Server、Fabric 中的 SQL 数据库和 Azure SQL 数据库中启用。 不需要额外的配置。
安装 mssql-python 包
从 PyPI 获取mssql-python包。
在空目录中打开命令提示符。
安装
mssql-python包。pip install mssql-python
安装 python-dotenv 包
在 PyPI 上获取python-dotenv。
在同一目录中,安装
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 数据库的类型。 如果要连接到 Fabric 中的 Azure SQL 数据库 或 SQL 数据库,请使用连接字符串选项卡中的 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 地址进行访问。