ovovovovovovo 2022-06-06 12:12 采纳率: 100%
浏览 70
已结题

在JDBC连接数据库时报错:Connection to 139.9.130.37:15400 refused.

问题遇到的现象和发生背景

今天想再次用teacher给的java代码,通过JDBC连接数据库执行对数据库内数据的操作(之前有成功过,这次再试一次就不行了),前面的配置都做好了,就是到了命令台运行的时候发生了错误,错误显示如下:(说明一下,我用的是华为云弹性服务器连接本地虚拟机上的数据库)

问题相关代码,请勿粘贴截图

java代码如下:
import java.sql.*;
public class openGaussDemo {

static final String JDBC_DRIVER = "org.postgresql.Driver";  
static final String DB_URL = "jdbc:postgresql://139.9.130.37:15400/demo";
  // 数据库的用户名与密码,需要根据自己的设置
static final String USER = "dbuser";
static final String PASS = "Gauss#3demo";
 public static void main(String[] args) {
    Connection conn = null;
    Statement stmt = null;
    try{
        // 注册 JDBC 驱动
        Class.forName(JDBC_DRIVER);
    
        // 打开链接
        System.out.println("连接数据库...");
        conn = DriverManager.getConnection(DB_URL,USER,PASS);
    
        // 执行查询
        System.out.println(" 实例化Statement对象...");
        stmt = conn.createStatement();
        String sql;
        sql = "SELECT id, name, url FROM demo.websites";
        ResultSet rs = stmt.executeQuery(sql);
    
        // 展开结果集数据库
        while(rs.next()){
            // 通过字段检索
            int id  = rs.getInt("id");
            String name = rs.getString("name");
            String url = rs.getString("url");

            // 输出数据
            System.out.print("ID: " + id);
            System.out.print(", 站点名称: " + name);
            System.out.print(", 站点 URL: " + url);
            System.out.print("\n");
        }
        // 完成后关闭
        rs.close();
        stmt.close();
        conn.close();
    }catch(SQLException se){
        // 处理 JDBC 错误
        se.printStackTrace();
    }catch(Exception e){
        // 处理 Class.forName 错误
        e.printStackTrace();
    }finally{
        // 关闭资源
        try{
            if(stmt!=null) stmt.close();
        }catch(SQLException se2){
        }// 什么都不做
        try{
            if(conn!=null) conn.close();
        }catch(SQLException se){
            se.printStackTrace();
        }
    }
    System.out.println("Goodbye!");
}

}
(以上都是复制粘贴修改了一些根据华为云服务器的参数)

运行结果及报错内容

在命令台通过javac -encoding utf-8 -cp d:\Download\postgresql.jar openGaussDemo.java
和 java -cp .;D:/Download/postgresql.jar openGaussDemo命令后报错:

img


大致意思就是要不就是hostname错误要不就是端口号错误,但是已经反复检查都是没有错的,然后就有可能是后面的postmaster不接受TCP/IP的连接,但是都是按teacher给的文档来做的,而且之前都有运行成功过,就不知道到底是哪里出了问题。

我的解答思路和尝试过的方法

我上网搜了好多相关的信息,试过关防火墙,也试过重启虚拟数据库,配置了一些参数,看了一下监听地址是*没错,也将远程连接的权限赋给了我的dbuser用户,统统都失败了,还有的说要在win+R之后输入services.msc开启postgresql服务,看了下发现自己的电脑里面也没有这个服务。

我想要达到的结果

我就是想跑通这个java程序,ball ball各位help help小的吧!要做不完了!

  • 写回答

5条回答 默认 最新

  • 温柔的小才 2022-06-06 17:51
    关注

    1.检查客户端和服务端对否可以ping通。
    2.检查服务端的数据库服务是否启动
    3.检查客户端在服务端数据库的权限。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(4条)

报告相同问题?

问题事件

  • 系统已结题 6月15日
  • 已采纳回答 6月7日
  • 创建了问题 6月6日

悬赏问题

  • ¥15 无源定位系统的时差估计误差标准差
  • ¥15 请问这个代码哪里有问题啊
  • ¥20 python--version在命令端输入结果Python is not defined怎么办?还有pip不是exe格式是不是没安装成功?
  • ¥15 通过GaussianView进行结构微调消除虚频
  • ¥15 调用transformers库
  • ¥15 由于导出的数据名字中带有/,导致Matlab打不开,怎么办?
  • ¥15 新硬盘安装的程序总是崩溃,提示遇到错误
  • ¥15 openpcdet自制数据集评估bev精度和3d精度相同
  • ¥15 excel 上下按钮 显示行
  • ¥20 云卓h12pro 数传问题