2016-05-16 18 views
-1

Dies ist der Fehler I empfangen wird, wenn db mit Power biPowerBI Cx Fehler PostgreSQL verbinden

Einzelheiten zu einer PostgreSQL zu versuchen, eine Verbindung: „TlsClientStream.ClientAlertException: CertificateExpired bei TlsClientStream.TlsClientStream.SendAlertFatal (AlertDescription Beschreibung, String message) bei TlsClientStream.TlsClientStream.ParseCertificateMessage (Byte [] buf, Int32 & POA) bei TlsClientStream.TlsClientStream.TraverseHandchakeMessages() bei TlsClientStream.TlsClientStream.GetInitialHandshakeMessages (Boolean allowApplicationData) bei TlsClientStream.TlsClientStream.PerformIntitialHandshake (String Hostname, X509CertificateCollection Clientcertificates, RemoteCertificateValidationCallback remoteeCertificateValidationCallback, Boolean checkCertificateRevocation)“

ich nicht konnte die Antwort überall auf Stackoverflow finden.

PostgreSQL befindet sich entfernt und ich heruntergeladen Version: 2.33.4337.501 64-Bit PowerBI Desktop.

Antwort

-1

Ich beantworte meine eigene Frage, weil ich viel Zeit investiert habe, und ich hoffe, dass andere Leute nicht die gleiche Zeit für solch eine einfache Lösung verschwenden müssen.

Grundsätzlich war das Problem mit der Version von npgsql ich verwendet. Zum Zeitpunkt dieses Posts war die Version, die ich verwendet habe, Npgsql 3.0.7, die standardmäßig eine Überprüfung durchführen soll, während die 2.x-Versionen standardmäßig keine Überprüfung des Zertifikats des Servers durchgeführt haben. Die Verbindung funktioniert nach der Deinstallation und Installation der 2.x-Version. Diese Lösung ist nicht gut für Leute, die die Version 3.x verwenden müssen.

+0

Npgsql 2.x ist jetzt alt, und Sie sollten es nicht verwenden, wenn Sie einen wirklich guten Grund haben. –

0

Anstatt zu Npgsql 2.x fallen zurück, es lohnt sich ein paar Minuten Zeit zu verbringen on the documentation:

Beachten Sie, dass standardmäßig wird Npgsql überprüfen, ob Ihr Server Zertifikat gültig ist. Wenn Sie ein selbstsigniertes Zertifikat verwenden, schlägt diese fehl. Sie können Npgsql anweisen, dies zu ignorieren, indem Sie in der Verbindungszeichenfolge Trust Serverzertifikat = true angeben. Um genau zu kontrollieren, wie das Zertifikat des Servers validiert wird, können Sie UserCertificateValidationCallback auf NpgsqlConnection registrieren (das funktioniert nur wie auf .NET SSLStream).