搜索

首页  >  问答  >  正文

java.sql.SQLNonTransientConnectionException:无法创建与数据库服务器的连接

我遇到错误代码“java.sql.SQLNonTransientConnectionException:无法创建与数据库服务器的连接”的问题。我正在尝试使用 JDBC 与数据库建立连接,凭据拼写正确。您能帮我检查一下这个项目中可能出现的问题吗?

package com.example.daily.db;

import android.os.Bundle;

import androidx.appcompat.app.AppCompatActivity;

import com.example.daily.R;
import com.mysql.cj.protocol.Resultset;

import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
import java.sql.Statement;

public class controler extends AppCompatActivity {
    private controler controlador;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_tercera);
        controlador = new controler();
    }
    public static void micontroler (){

        String usuario = "root";
        String password = "Prueb@1";
        String url = "jdbc:mysql://localhost:3306/daily_db";
        Connection conexion;
        Statement statement;
        Resultset rs;

        try {
            Class.forName("com.mysql.cj.jdbc.Driver");
        } catch (ClassNotFoundException e) {
            throw new RuntimeException(e);
        }


        try {
            conexion = DriverManager.getConnection(url,usuario,password);
            statement = conexion.createStatement();
            statement.executeUpdate("INSERT INTO USUARIOS(EMAIL,NOMBRES,APELLIDOS,APODO,FECHA_NACIMIENTO) VALUES ('Teste','TESTn','TESTa','TESTp','14/06/22')");


        } catch (SQLException e) {
            throw new RuntimeException(e);
        }
    }
}

我检查了连接,重写了代码,将控制器添加到了清单中。

P粉086993788P粉086993788317 天前376

全部回复(1)我来回复

  • P粉320361201

    P粉3203612012024-01-11 14:39:51

    理想情况下,当连接字符串错误时会出现此问题。您可以检查一下形成的连接字符串的格式是否正确。

    mysql jdbc 连接的预期连接字符串如下,

    jdbc:mysql://localhost:3306/daily_db?user=root&password=Prueb@1&serverTimezone=UTC

    请参考https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-reference-jdbc-url-format.html 有关连接字符串的更多详细信息。

    此外,请确保数据库已启动并在代码中提供的端口上运行,即 localhost:3306。

    回复
    0
  • 取消回复