【问题标题】:Azure function and Spatial types and the assembly 'Microsoft.SqlServer.Types'Azure 函数和空间类型以及程序集“Microsoft.SqlServer.Types”
【发布时间】:2023-04-07 11:55:01
【问题描述】:

获得了一个 Azure 函数,它应该调用上下文来更新 DbGeography 的值。我不断收到此异常:

空间类型和函数不适用于此提供程序,因为找不到程序集 'Microsoft.SqlServer.Types' 版本 10 或更高版本。

我在 Azure Function 项目中安装了 NuGet 包。目前 Azure Function 没有发布,我在本地运行。解决这些问题会很好,即使在部署该功能时也是如此。

【问题讨论】:

    标签: entity-framework azure azure-functions


    【解决方案1】:

    根据您的错误消息,我想您的问题与您尝试部署到没有安装 SQL Server 的 CLR 类型的机器有关。

    你说你已经安装了 Nuget 包,所以我建议你也可以检查一下是否将适当版本的原生 SqlServerSpatial110.dll 程序集复制到输出目录并与你的应用程序一起部署。有关此问题的更多详细信息,您可以参考此article

    您还可以检查您是否安装了 Microsoft System CLR Types。更多细节,你可以阅读这个SO thread

    经过大量研究,我刚刚从以下位置安装了“Microsoft System CLR Types for SQL Server 2012”:

    X86 - http://go.microsoft.com/fwlink/?LinkID=239643&clcid=0x409

    X64 - http://go.microsoft.com/fwlink/?LinkID=239644&clcid=0x409

    工作就像一个魅力!

    此外,如果我在 Microsoft.SqlServer.Types 包中使用 SqlGeography,它对我来说可以正常工作:

    Azure函数中的代码:

    Azure 门户中的结果:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-07-28
      • 2010-12-10
      • 1970-01-01
      • 2010-10-14
      • 2022-01-06
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多