我正在尝试将一些数据从 Azure 函数发送到 Azure SQL DB,该函数的底层 Linux 映像似乎没有 PYODBC 驱动程序 18。我正在使用托管标识进行连接,并且它之前在 Linux 函数上运行良好.
conn_string = f"Driver={{ODBC Driver 18 for SQL Server}};SERVER=sql-to-dev-.database.windows.net;DATABASE=poc"
database_conn = pyodbc.connect(conn_string, attrs_before={SQL_COPT_SS_ACCESS_TOKEN: token_struct})
database_cursor = database_conn.cursor()
错误
pyodbc.Error:无法打开lib“ODBC Driver 18 for SQL Server”:azure 功能
使用 KUDU ssh 连接到功能 App linux。打印
/etc/odbcinst.ini
的内容,显示有ODBC驱动18。
我在
conn_string
var 中将 18 更改为 17,它起作用了。
转到“您的 Function App 资源 --> 设置 --> 配置 --> 常规设置”,并确保堆栈为“Python 3.10 或更高版本”。否则,您应该将驱动程序从 18 更改为 17。