java.sql.SQLException: ningún controlador adecuado en Mac OS X que intenta utilizar Derby
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();
}
}
}
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:
-
Asegúrese de actualizar su JDK y Netbeans a la última versión
-
Haga clic derecho en las bibliotecas de su proyecto
-
Elegir " Agregar biblioteca ... "
-
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