Azure Function App 连接到数据库不工作

问题描述 投票:0回答:1

我对这一切都比较陌生,我已经按照几个教程来实现我的目标,但我无法让它工作。例如,我遵循了本教程: https://www.sqlshack.com/azure-functions-for-azure-sql-database/

在我看到的所有教程中,一切正常,但在我的情况下却没有。

我得到的所有错误都与对“System.Data.SqlClient”的引用有关

error CS1069: The type name 'SqlConnection' could not be found in the namespace 'System.Data.SqlClient'. This type has been forwarded to assembly 'System.Data.SqlClient, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' Consider adding a reference to that assembly.

据我了解,这是因为缺少 NuGet 包,但我不知道如何将其集成到 Azure 门户中,而且据我了解,它应该自动集成。 我能做些什么?谢谢。

azure sqlclient
1个回答
1
投票
  • 如果函数是使用门户开发的,Azure 函数并没有真正提供对 Nuget 包安装的无缝支持

  • 所以我建议您使用 visual Studio,您可以通过 visual studio 中包管理器的内置支持轻松安装 nuget 包

  • 要在 visual studio 中创建基本功能后执行此操作,请转到

    tools
    选项卡下,然后在
    NuGet Package Manager
    选项下单击
    Manage NuGet Pacakges for Solution
    .

enter image description here

  • 这将打开一个新窗口,您可以在其中搜索包管理器。只需在窗口中搜索
    System.Data.SqlClient
    选择项目名称并安装 .

enter image description here

  • 这里我的代码检查连接是否建立
string connstring = "";
SqlConnection conn = new SqlConnection(connstring);
conn.Open();
if (conn.State != System.Data.ConnectionState.Closed)
{
    log.LogInformation("C# HTTP trigger function processed a request.");
    return new OkObjectResult("Connected");
}            
conn.Close();
return new OkObjectResult("Waiting");
  • 现在我们可以通过右键单击解决方案探索中的项目名称并选择
    publish 
  • 将功能从 visual studio 部署到 azure

enter image description here

弹出窗口将出现在您必须选择函数应用程序类型的位置,然后创建一个函数应用程序或选择现有函数应用程序然后部署。

enter image description here

  • 另一种方法是上传一个
    function.proj
    文件,该文件将引用 NuGet 包。参考这个 tutorial 它是由 Hasan Savran
  • 写的
© www.soinside.com 2019 - 2024. All rights reserved.