【问题标题】:IBM.Data.DB2.Core throws exception in azure function appIBM.Data.DB2.Core 在 azure 函数应用程序中引发异常
【发布时间】:2020-02-28 19:37:19
【问题描述】:

我正在使用 nuget 包 IBM.Data.DB2.Core 版本 1.3.0.100 dll 将来自 Azure 函数的 DB2 数据库与 AzureFunctionsVersion V2 连接起来。应用程序构建成功。

当我运行应用程序并使用 Postman 访问它时,我得到了异常:

System.Private.CoreLib:执行功能时出现异常:Personal-GetAgencyDownload。 AgencyDownload:无法加载文件或程序集“IBM.Data.DB2.Core,版本=1.2.2.201,文化=中性,PublicKeyToken=7c307b91aa13d208”。无法找到或加载特定文件。 (来自 HRESULT 的异常:0x80131621)。 System.Private.CoreLib:无法加载文件或程序集“IBM.Data.DB2.Core, Version=1.2.2.201, Culture=neutral, PublicKeyToken=7c307b91aa13d208”。

我看到1.3.0.100 包,没有任何其他包。为什么它在运行时寻找1.1.1.201

【问题讨论】:

标签: c# azure db2 azure-function-app


【解决方案1】:

知道这有点晚了,但以防万一其他人在最新版本的 IBM.Data.DB2.Core(撰写本文时版本为 3.1.0.300)时遇到此问题,这是由于 Azure 功能平台造成的默认为 32 位,IBM dll(或其依赖项之一)需要 64 位。将平台设置更改为 64 位可解决此错误。 您可以在 Azure 门户的配置 > 常规设置下找到设置。

【讨论】:

【解决方案2】:

如果 IBM.DataDB2.dll 文件位于 DB2 客户端安装位置以外的目录中,则可能会发生这种情况。这可能在您不知道 Visual Studio 将必要的 dll 复制到项目的 bin 目录中的情况下发生。

IBM.Data.DB2.dll 依赖于 DB2 客户端安装中的其他客户端库。所以只能从 DB2 Client 安装位置引用 DLL,不要在应用程序目录中保存本地副本。

转到项目中的引用并将 DB2 dll 的 Copy local 设置为 false,直接引用来自 DB2 客户端设置的那些。

【讨论】:

    猜你喜欢
    • 2022-01-02
    • 2016-12-22
    • 2016-05-04
    • 2019-07-17
    • 2022-01-21
    • 1970-01-01
    • 2021-01-18
    • 2011-09-20
    • 1970-01-01
    相关资源
    最近更新 更多