我可以使用 PGAdmin 连接到我的 Postgres 数据库,但不能使用 npgsql (C#)

问题描述 投票:0回答:1

我能够连接到我的远程服务器(Postgres),并且我的用户能够查询表。 当我尝试实现与此数据库的连接时,我收到此错误:

未处理的异常。 Npgsql.PostgresException(0x80004005):28000:主机“XX.XX.XX.XX”、用户“XXX”、数据库“XXX”没有 pg_hba.conf 条目,无加密

 using (var connection = new NpgsqlConnection(connectionString))
            {
                connection.Open();

公开抛出错误,我尝试了多种连接字符串:

"Server=XXX;Port=5432;Timeout=1024;CommandTimeout=1024;UserId=XX;Database=XX;Password=XX;Database=XX"

"Host=XXX;Port=5432;Username=XX;Password=XX;Database=XX"

所有尝试的结果都相同。

我已要求服务器所有者检查 pg_hba.conf,等待他的回复... 但我不明白为什么 PGAdmin 能够连接而不是我的 C# NPG 连接:/

谢谢

我需要连接到这个远程 postgres 数据库。

c# postgresql npgsql pgadmin
1个回答
0
投票

我也遇到了完全相同的问题。 通过 Nuget 更新 Npgsql 库对我来说很有效。

我使用的是 5.x.y 版本,更新到 7.x.y.

在幕后,我相信问题可能是 Npgsql 对“SSL 模式”选项的连接字符串的处理发生了变化。

参见“SSL/TLS 改进”: https://www.npgsql.org/doc/release-notes/6.0.html

© www.soinside.com 2019 - 2024. All rights reserved.