我想通过
pyodbc
Python 包连接到 Azure SQL 数据库。我通过导航到 Azure SQL 数据库资源并转到 Settings 组下的Connection strings 菜单来获取连接字符串。之后,我选择了 ODBC 选项卡并复制了包含用户名和密码身份验证的连接字符串。
以下代码尝试连接数据库:
import pyodbc
driver = "{ODBC Driver 18 for SQL Server}"
server = "<server>"
database = "<database>"
username = "<user_name>"
password = "<password>"
conn_str = str.format(
"Driver={0};Server={1},1433;Database={2};Uid={3};Pwd={4}",
driver,
server,
database,
username,
password,
)
connection = pyodbc.connect(conn_str)
connection.close()
但是,我收到以下错误:
pyodbc.InterfaceError: ('IM002', '[IM002] [Microsoft][ODBC 驱动程序管理器] 未找到数据源名称且未指定默认驱动程序 (0) (SQLDriverConnect)')
在连接数据库之前,您需要下载合适的 Microsoft ODBC Driver for SQL Server 然后安装它:
curl https://packages.microsoft.com/debian/12/prod/pool/main/m/msodbcsql18/msodbcsql18_18.3.2.1-1_amd64.deb -o msodbcsql18.deb
ACCEPT_EULA=Y dpkg --install msodbcsql18.deb
之后,您可以连接到Azure SQL数据库:
connection = pyodbc.connect(conn_str)
# Print out the connection information
print(connection)
print(connection.getinfo(pyodbc.SQL_DBMS_NAME))
print(connection.getinfo(pyodbc.SQL_DBMS_VER))
connection.close()
示例输出为:
<pyodbc.Connection object at 0x0000025E9F50F910>
Microsoft SQL Server
12.00.5349