Problemilla de conexion a bbdd

david
03 de Marzo del 2004
Tengo un problemilla conectandome a la bbdd, parece que en la parte del driver. No se que puede ser, pero el error que me da en este código es:

public String [] mostrar(String login,String password){

try{
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );
Connection c=DriverManager.getConnection("jdbc:odbc:gestion",login,password);
stmt=c.createStatement();
dbmd=c.getMetaData();
ResultSet rs=stmt.executeQuery("SELECT NOMBRE FROM HOTELES" );
int i=0;
while (rs.next()){
String campo=rs.getString(1);
lista[i]=campo;
i++;
}
rs.close();

}

En la parte del forName me da un error tal que asi:

C:Archivos de programajavaJCreator LEMyProjectsHoteles.java:45: unreported exception java.lang.ClassNotFoundException; must be caught or declared to be thrown
Class.forName( "sun.jdbc.odbc.JdbcOdbcDriver" );

Parece el error tipico de que no hay try, catch, pero en este casi si que esta, con lo cual no si puede ser el error sl string que le paso, o eso sería en todo caso error de ejecución. Tengo una conexion odbc de nombre gestion y no estoy seguro de si es asi como hay que crear la conexion.

A ver si alguien puede echarme un cable. Un saludo, muchas gracias

david
03 de Marzo del 2004
Nadie puede darme alguna idea??

Ruben
03 de Marzo del 2004
Hola David, he probado tu codigo y al parecer funciona todo correctamente, comprueba que tengas las ultimas jdk, y que la base de datos existe , yo para la prueba he assignado una dns a una bd access, todo me ha ido perfectamente. Aqui tienes el codigo que he utilizado.

package ocbc;

import java.sql.*;

class bd {
public bd() {
String datos[] = mostrar("", "");

}

public String[] mostrar(String login, String password) {
Statement stmt;
DatabaseMetaData dbmd;
String[] lista = new String[100];
try {
Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");
Connection c = DriverManager.getConnection("jdbc:odbc:maestro", login,
password);
stmt = c.createStatement();
dbmd = c.getMetaData();
ResultSet rs = stmt.executeQuery("SELECT ID_AUTOR FROM AUTORES");
int i = 0;
while (rs.next()) {
String campo = rs.getString(1);
lista[i] = campo;
i++;
}
rs.close();

}
catch (Exception e) {
System.out.println(e);
}

return lista;
}
}