繁体   English   中英

无法使用 Npgsql 连接到 Postgresql 13 服务器,目标计算机主动拒绝连接

[英]Can't connect to Postgresql 13 server using Npgsql, destination computer actively deny connection

在我的应用程序中,当我单击按钮时

<Button x:Name="SQLconnectionButtonTest" Content="Test SQL connection" VerticalAlignment="Top" HorizontalAlignment="Left" Click="SQLconnectionButtonTest_Click"></Button>

和一个代码:

public void SQLconnectionButtonTest_Click(object sender, RoutedEventArgs e)
    {
    var cs = "Host=localhost;Username=postgres;Password=postgres123;Database=testdb";
    using var con = new NpgsqlConnection(cs);
    con.Open();
    var sql = "SELECT version()";
    using var cmd = new NpgsqlCommand(sql, con);
    var version = cmd.ExecuteScalar().ToString();
    MessageBox.Show($"Postgres version: {version}");
}

我有一个错误: System.Net.Sockets.SocketException: 英文将是“无法建立连接,因为目标计算机主动拒绝它。Postgresql 服务器正在运行,我在 pgadmin 中创建了数据库 testdb

从评论看来,您的 PG 可能正在非标准端口上运行,并且连接字符串中缺少所需的端口号规范。 您注意到 PG 13 和 PG9.6 之间的行为有所不同; 为此,我会说使用 TCPView 之类的东西来验证 PG 正在侦听的端口和接口,并确保连接字符串详细信息匹配。 还要检查您的 Windows 防火墙是否在运行的应用程序是是否允许连接的一个因素的模式下运行,而不仅仅是端口

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM