You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Azure Function连接ODBC驱动部署到Azure后运行失败求助

问题原因分析

你遇到的两个报错分别来自不同的配置缺失:

  • ODBC报ERROR [IM002]的核心原因是:你本地配置的Dobbe WMS productie系统DSN只存在于你的本地Windows环境,Azure Function运行的云端服务器没有预先配置这个DSN条目,因此驱动管理器找不到对应数据源。
  • Npgsql报远程证书无效的原因是:你的PostgreSQL服务端使用了未被Azure信任根证书库收录的自签名证书,SslMode=Require要求校验证书合法性因此触发报错。

修复方案

方案1:使用无DSN的ODBC连接(推荐,无需修改云端配置)

不需要在Azure环境手动配置DSN,直接替换你的ODBC连接字符串为无DSN格式即可,示例代码如下:

using(OdbcConnection conn = new OdbcConnection("Driver={PostgreSQL ANSI(x64)};Server=你的数据库地址;Port=5432;Database=你的数据库名;Uid=登录用户名;Pwd=登录密码;"))
{
    conn.Open();
    // 执行业务逻辑
    conn.Close();
}

注意如果你的Azure Function是32位运行环境,把驱动名换成{PostgreSQL ANSI}即可。

方案2:修复Npgsql连接

直接在原Npgsql连接字符串末尾追加Trust Server Certificate=true参数,跳过证书校验即可,修改后的连接字符串如下:

Server=address;Port=5432;Database=dbname;User Id=username;Password=password;SslMode=Require;Trust Server Certificate=true

如果你的场景需要严格校验证书安全性,可以将PostgreSQL服务端的自签名根证书上传到Azure Function控制台的「TLS/SSL设置」-「公钥证书(.cer)」模块,配置为受信任的根证书即可无需跳过校验。


内容的提问来源于stack exchange,提问作者Danny Verdel

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.11 10:36:02