Saltar al contenido

Apache Derby – java.sql.SQLException: no se pudo iniciar la base de datos

Solución:

¡Su programa contiene algunos malentendidos y asignaciones incorrectas!

  • Desde su imagen puede ver su DATABASE = contactDB no contact.
    “jdbc: derby: C: /Users/yohan/.netbeans-derby/contact” es incorrecto

    “jdbc: derby: C: /Users/yohan/.netbeans-derby/contactDB” ahora solo el DB es correcto.
    Error: Es posible que otra instancia de Derby ya haya iniciado la base de datos C: Users yohan.netbeans-derby contact.

  • Para el Con.String es mejor no usar el PATH
    trabajará “jdbc: derby: // localhost: 1527 / C: /Users/yohan/.netbeans-derby/contactDB”, “yohan”, “xyz”
    mejor es “jdbc: derby: // localhost: 1527 / contactDB”, “yohan”, “xyz”

Es mejor especificar la ruta completa a la tabla. De lo contrario, solo funciona en Netbeans, con una tabla ya abierta y un esquema predeterminado.

  • prepareStatement
    solamente dentro de Netbeans con.prepareStatement (“insertar en AMIGOS valores(?,?,?)”);
    mejor es con.prepareStatement (“insertar en APP.FRIENDS valores(?,?,?)”);

¡Ahora mira esto!

    ps.setInt(1, id);
    ps.setString(1, firstName);
    ps.setString(2, lastName);
  • Primero configura el identificación con setInt ().
  • Segundo Ahora configura el identificación con un cuerda setString () (nombre !!!!!)
  • En tercer lugar, al final, anula firstName con lastName y lastName en ps. esta vacio.

Esto le dará el siguiente error.

Es mejor, cuando un se produce un error, para no ejecutar más el programa. La lista de errores crecerá. Es dificil de leer. en su caso, el primer error está en createConnection y sigue corriendo !!

  • Error createConnection
  • Error con.prepareStatement (“…
  • Error ps.executeUpdate ()
  • Error closeConnection ()

Pruébalo con booleano y si !

private boolean createConnection()
{
    try
    {
        Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
        con = DriverManager.getConnection("jdbc:derby://localhost:1527/contactDB","yohan","xyz");
    }
    catch(Exception e)
    {   
        System.out.println("Error getConnection");
        return false;
    }
 return true;   
}

No es necesario ejecutar más si falla la conexión.

public void insertData(int id, String firstName, String lastName)
    {
       if (createConnection()) {
        try
        {
            PreparedStatement ps = con.prepareStatement("INSERT INTO APP.FRIENDS values(?,?,?)");
            ps.setInt(1, id);
            ps.setString(2, firstName);
            ps.setString(3, lastName);
[...]

Espero que esto te ayude un poco.

su datasae ya está conectada desconecte haga clic derecho -> desconecte ahora inténtelo,

seguro que funcionará.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *