在Azure函数中使用Python访问Azure SQL还有其他方法吗?

在Azure函数中使用Python访问Azure SQL还有其他方法吗?,python,python-3.x,azure-active-directory,azure-functions,azure-sql-database,Python,Python 3.x,Azure Active Directory,Azure Functions,Azure Sql Database,我有一个连接数据库Azure SQL的Azure函数,我正在使用pyodbc包连接数据库。 在我的计算机上,它工作正常,但当我通过vscode部署时,azure会根据要求安装所有python,他会尝试通过网站下载 ,哪一个出去了 还有另一种方法可以在Azure函数中使用Python访问Azure SQL?? 我正在使用上述工具 Windows 10中VSCODE中的开发人员 Azure功能: Linux azure函数类型为“HTTP” 本地电话是东2 我的代码 Import pyodbc pa

我有一个连接数据库Azure SQL的Azure函数,我正在使用pyodbc包连接数据库。 在我的计算机上,它工作正常,但当我通过vscode部署时,azure会根据要求安装所有python,他会尝试通过网站下载 ,哪一个出去了 还有另一种方法可以在Azure函数中使用Python访问Azure SQL?? 我正在使用上述工具 Windows 10中VSCODE中的开发人员 Azure功能: Linux azure函数类型为“HTTP” 本地电话是东2

我的代码

Import pyodbc
password = *********
server = 'prd-xx-xxx-xxx-01.database.windows.net'
database = 'prd-xx-xxx-xxx-db-02'
username = 'adm'
driver= '{ODBC Driver 17 for SQL Server}'
conn = pyodbc.connect('DRIVER='+driver+';SERVER='+server+';PORT=1433;DATABASE='+database+';UID='+username+';PWD='+ password)
df = pd.read_sql(select_cidades,conn)
conn.close()

您还可以使用
pymssql
连接到Azure SQL数据库

下面是示例代码:

import pymssql  
    conn = pymssql.connect(server='yourserver.database.windows.net', user='yourusername@yourserver', password='yourpassword', database='AdventureWorks')  
    cursor = conn.cursor()  
    cursor.execute('SELECT c.CustomerID, c.CompanyName,COUNT(soh.SalesOrderID) AS OrderCount FROM SalesLT.Customer AS c LEFT OUTER JOIN SalesLT.SalesOrderHeader AS soh ON c.CustomerID = soh.CustomerID GROUP BY c.CustomerID, c.CompanyName ORDER BY OrderCount DESC;')  
    row = cursor.fetchone()  
    while row:  
        print str(row[0]) + " " + str(row[1]) + " " + str(row[2])     
        row = cursor.fetchone()

请参考:

Python worker附带ODBC 17驱动程序。目前还没有文档记录,但您可以通过在VS代码中将pyodbc添加到requirements.txt文件中来使用它。见:

有文档记录的解决方法是使用一个可以提供包的环境。您可以使用Azure函数运行时创建Docker自定义映像,并在Azure云(或内部基础设施)中发布


不幸的是,它不起作用,我在以前版本的SQL中使用了这个“pymssql”,但在这个项目中,我的SQL版本是Microsoft SQL Azure(RTM)-12.0.2000.8 2020年9月11日22:32:15版权所有(C)2019 Microsoft Corporation。Microsoft文档(“pymssql”)还适用于python2。还有其他建议吗@Leon Yuepy是一条路,看起来你做的每件事都是对的。您可以发布错误吗?您的帖子中不完全清楚发生了什么。这是我尝试部署时的mensagen:@mauridb,这是我尝试在vscode中部署时的mensagen:n错误:为pyodbc构建控制盘失败\n预防:无法为不使用PEP 517的pyodbc构建控制盘。对于这些问题,pip将退回到传统的“setup.py安装”。PIP21.0将取消对该功能的支持。一种可能的更换方法是修复上述车轮制造问题。您可以在上找到关于此的讨论。\n是否使用pip将pyodbc安装到虚拟环境?您可以为pyodbc共享requirements.txt条目吗。