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

配置Excel/Power Query用NPGSQL (.NET 7.0)连接器遇阻求助

排查与配置适用于Excel/Power Query的NPGSQL连接器

核心问题定位

  • 版本兼容性冲突:Excel与Power Query基于.NET Framework(通常为v4.x分支)运行,你当前使用的.NET 7.0版NPGSQL属于.NET Core/.NET 5+系列,和.NET Framework不兼容,这是无法识别的核心原因。必须使用针对.NET Framework编译的NPGSQL版本(如NPGSQL 4.x分支,这是官方支持.NET Framework的最后稳定版本)。
  • GAC注册框架不匹配:你注册的是.NET 7的DLL到GAC,但Excel加载的是.NET Framework专属的GAC目录,二者并非同一环境,导致注册无效。

正确配置步骤

  1. 下载适配版本
    • 下载NPGSQL 4.x版本的NuGet包(例如4.1.12),提取其中对应.NET Framework的DLL,路径一般为lib\net461\Npgsql.dll。
  2. 注册到对应GAC
    • 打开管理员命令提示符,使用.NET Framework专属的gacutil工具执行注册:
      "C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.8 Tools\gacutil.exe" /i "C:\你的路径\Npgsql.dll"
      
    • 验证注册结果:运行gacutil /l Npgsql,确认列表中出现对应版本的条目。
  3. 修改machine.config
    • 找到对应位数的.NET Framework配置文件:
      • 32位:C:\Windows\Microsoft.NET\Framework\v4.0.30319\Config\machine.config
      • 64位:C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Config\machine.config
    • 在<system.data><DbProviderFactories>节点下添加配置(若存在同名节点需先删除):
      <add name="Npgsql Data Provider" invariant="Npgsql" description=".Net Data Provider for PostgreSQL" type="Npgsql.NpgsqlFactory, Npgsql, Version=4.1.12.0, Culture=neutral, PublicKeyToken=5d8b90d52f46fda7" />
      
    • 注意替换Version和PublicKeyToken为你下载的NPGSQL版本对应信息(可通过ILSpy工具查看DLL属性获取)。
  4. 验证连接
    • 重启Excel后,进入「数据」选项卡,选择「获取数据」>「从其他来源」,若配置正确会出现PostgreSQL或Npgsql相关连接选项;也可通过「从ODBC」手动选择Npgsql数据源。

额外注意事项

  • 严格匹配Excel位数与NPGSQL DLL位数:32位Excel必须使用32位DLL并注册到32位GAC,64位同理。
  • 确保电脑已安装对应版本的.NET Framework(如NPGSQL 4.1.12需要.NET Framework 4.6.1及以上)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 02:17:15