Azure 函数计时器 SQL 客户端失败
Posted
技术标签:
【中文标题】Azure 函数计时器 SQL 客户端失败【英文标题】:Azure function Timer SQL client failing 【发布时间】:2019-10-31 15:04:02 【问题描述】:我的 .net 核心 azure 计时器功能突然因此错误而失败。
此平台不支持 System.Data.SqlClient。
我不确定发生了什么变化以及为什么会开始失败。
当我在本地运行代码时,它运行良好,没有错误。附加我在 Azure 门户上看到的内容 有什么建议吗?
【问题讨论】:
你用的System.Data.SqlClient是什么版本的? 还要确保你是函数 v2 【参考方案1】:我不确定发生了什么变化以及为什么会开始失败。
根据您的错误消息,您似乎已将 System.Data.SqlClient
版本从 4.5.1 升级到 4.6。
如果像我说的那样,在与运行时程序集相关的引用方面似乎存在一些问题,请参阅此issue。
如果您不需要最新的稳定版本 4.6.0,只需恢复到 4.5.1 即可。
否则解决方法是自行加载程序集。右键单击Function项目并编辑.csproj,在下面添加项目以将相关程序集复制到输出目录。
<!-- For publish -->
<ItemGroup>
<None Include="$(USERPROFILE)\.nuget\packages\system.data.sqlclient\4.6.0\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll">
<CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
</ItemGroup>
<!-- For local debug -->
<Target Name="CopyToBin" BeforeTargets="Build">
<Copy SourceFiles="$(USERPROFILE)\.nuget\packages\system.data.sqlclient\4.6.0\runtimes\win\lib\netcoreapp2.1\System.Data.SqlClient.dll" DestinationFolder="$(OutputPath)\bin" />
</Target>
【讨论】:
以上是关于Azure 函数计时器 SQL 客户端失败的主要内容,如果未能解决你的问题,请参考以下文章
使用 SQL 客户端将时间触发的 Azure 函数与数据库连接
使用 Blob 服务客户端查找 azure 帐户密钥失败(azure python sdk)