npgsql 3.2.0中的异常通过Excel PowerQuery连接到PostgreSQL

时间:2017-02-03 18:09:33

标签: excel postgresql npgsql powerquery

我有一个PostgreSQL 9.6.1数据库,我想从中提取数据以便在Excel中使用Get&变换(PowerQuery)。我在安装了.NET Framework 4.6的Windows 10 64位上运行64位Excel 2016 Pro Plus。

当我尝试使用"数据 - >新查询 - >来自数据库 - >从PostgreSQL数据库",我将服务器名称(localhost)和数据库名称放入对话框中。

然后我收到错误消息

  

从提供程序读取数据时发生错误:' Npgsql.Counters'的类型初始值设定项。抛出异常。'

我有以下设置:

  • 与nuget一起安装的npgsql 3.2.0。有3个版本的DLL,net45,net451和netstandard1.3。我使用net451是因为它最接近4.6。
  • mono.security.dll 4.0.0.0。我使用gacutil.exe
  • 将两个DLL添加到全局缓存中
  • 我为DbProviderFactories

    更新了machine.config

    为Postgresql Server添加description =" .Net Framework数据提供程序" type =" Npgsql.NpgsqlFactory,Npgsql,Version = 3.2.0.0 ,Culture = neutral,PublicKeyToken = 5d8b90d52f46fda7" name =" Npgsql Data Provider"不变="&Npgsql的#34;支撑=" FF"

如果我做错了什么,有人可以帮我理解吗?

1 个答案:

答案 0 :(得分:1)

看起来这是最近发布的npgsql的一个问题?在修复之前,如果安装版本3.1或3.0,Power Query应该可以工作:)

您可以尝试的另一件事是使用net45。我们正式支持.NET 4.5.1,但有时您可以更好地使用旧版本。