【问题标题】:PowerBI Cx error connect to PostgreSQLPowerBI Cx 错误连接到 PostgreSQL
【发布时间】:2016-05-16 12:39:00
【问题描述】:

这是我在尝试使用 power bi 连接到 PostgreSQL 数据库时收到的错误

详细信息:“TlsClientStream.ClientAlertException:CertificateExpired 在 TlsClientStream.TlsClientStream.SendAlertFatal(AlertDescription 描述,字符串消息) 在 TlsClientStream.TlsClientStream.ParseCertificateMessage(字节 [] buf,Int32&poa) 在 TlsClientStream.TlsClientStream.TraverseHandchakeMessages() 在 TlsClientStream.TlsClientStream.GetInitialHandshakeMessages (布尔允许应用程序数据) 在 TlsClientStream.TlsClientStream.PerformIntitialHandshake(字符串 主机名,X509CertificateCollection 客户端证书, 远程证书验证回调 remoteeCertificateValidationCallback,布尔值 checkCertificateRevocation)"

我在 stackoverflow 上的任何地方都找不到答案。

PostgreSQL 位于远程,我下载了版本:2.33.4337.501 64 位 PowerBI 桌面。

【问题讨论】:

    标签: postgresql connection database-connection npgsql powerbi


    【解决方案1】:

    与其退回到 Npgsql 2.x,不如花几分钟时间on the documentation

    请注意,默认情况下,Npgsql 将验证您服务器的 证书有效。如果您使用的是自签名证书,则 将失败。您可以通过指定 Trust 来指示 Npgsql 忽略它 连接字符串中的服务器证书=true。要精确控制 服务器的证书是如何验证的,你可以注册 NpgsqlConnection 上的 UserCertificateValidationCallback (这仅适用于 就像在 .NET 的 SSLStream 上一样)。

    【讨论】:

      【解决方案2】:

      我正在回答我自己的问题,因为我确实投入了大量时间,我希望其他人不需要为这种简单的解决方案浪费同样的时间。

      基本上问题出在我使用的 npgsql 版本上。 在发这篇文章的时候,我使用的版本是 Npgsql 3.0.7,默认情况下会执行验证,而 2.x 版本默认不会对服务器的证书进行验证。卸载并安装 2.x 版本后连接正常。这个解决方案对于必须使用 3.x 版本的人来说并不好。

      【讨论】:

      • Npgsql 2.x 现在已经很古老了,除非你有充分的理由,否则你不应该使用它。
      猜你喜欢
      • 2016-12-24
      • 2013-10-26
      • 2014-09-09
      • 1970-01-01
      • 2021-01-27
      • 1970-01-01
      • 1970-01-01
      • 2014-06-23
      • 1970-01-01
      相关资源
      最近更新 更多