java.sql.SQLException: ningún controlador adecuado en Mac OS X que intenta utilizar Derby

StackOverflow https://stackoverflow.com/questions/652736

  •  19-08-2019
  •  | 
  •  

Pregunta

Recibo una excepción java.sql.SQLException: no hay un controlador adecuado cuando intento conectarme a una base de datos con Java. Estoy en Mac OS 10.5 usando NetBeans IDE. Parece estar teniendo problemas con el EmbeddedDriver, pero no estoy seguro de lo que me falta:

    public class A
    {
        Connection conn = null;

        public A(String URL, String username, String password) throws SQLException
        {       
                try
                {
                     Class.forName("org.apache.derby.jdbc.EmbeddedDriver");
                     conn = DriverManager.getConnection(URL, username, password);
                }
                catch (SQLException sqlException)
                {
                    sqlException.printStackTrace();
                    invalidate();
                }
                catch (ClassNotFoundException classNotFound)
                {
                    classNotFound.printStackTrace();
                    invalidate();
                }
        }
    }
¿Fue útil?

Solución

" Ningún controlador adecuado " generalmente significa que la URL que ha proporcionado para conectarse tiene una sintaxis incorrecta. ¿Cuál es tu URL?

La versión del servidor tendría un host y un puerto; Creo que la URL incrustada debe ser "jdbc: derby: flixnet", de acuerdo con estos documentos: http://db.apache.org/derby/papers/DerbyTut/embedded_intro.html

Otros consejos

Use " org.apache.derby.jdbc.ClientDriver " ;. Como veo, está accediendo a un servidor derby, no a una base de datos incrustada.

Aquí se declara como una constante:

final String DATABASE_URL = "jdbc:derby://localhost:1527/flixnet";

No pregunte por el nombre ... Obtuve esta URL haciendo clic derecho en la base de datos en NetBeans y luego yendo a Propiedades - > URL de la base de datos.

Y he agregado los archivos derby.jar y derbyclient.jar desde /Applications/NetBeans/glassfish-v3-prelude/javadb/lib/derby.jar y derbyclient.jar desde el mismo directorio.

¿Agregaste derbyclient.jar a " Bibliotecas " carpeta en su proyecto Netbeans?

Tuve el mismo problema. Prueba esto:

  1. Asegúrese de actualizar su JDK y Netbeans a la última versión

  2. Haga clic derecho en las bibliotecas de su proyecto

  3. Elegir " Agregar biblioteca ... "

  4. Busque y elija " Controlador Java DB " ;, luego haga clic en " Agregar biblioteca "

Así es como resolví el problema, espero que esto ayude a algún nuevo programador como yo :) PD Agregará " derbyclient.jar " para ti

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top