"No suitable driver" no HSQLDB

0 respostas
H

Tenho a seguinte estrutura de diretorio:
1 ceppj
1.1 db
1.1.1 ceppj.script (arquivo)
1.1.2 ceppj.proprieties (arquivo)
1.2 java
1.2.1 classes
1.2.1.1 Conexao.java (arquivo)
1.2.1.2 Teste.java (arquivo)
1.2.1.3 Conexao.class (arquivo)
1.2.1.4 Teste.class (arquivo)

Nos Conexao.java e Teste.java, possuem respectivamente os seguintes conteúdos:

/*
	Conexao.java
*/
public class Conexao {
    
    public static String DRIVER = org.hsqldb.jdbcDriver.class.getName();

    public static String URL_BANCO = "jdbc:odbc:../db/ceppj";

    public static String USUARIO = "sa";

    public static String SENHA = "";
    
    private static java.sql.Connection conexao = null;
    
    public static java.sql.Connection obterConexao() throws java.lang.Exception {
        if (conexao == null) {
            try {
                java.lang.Class.forName(DRIVER).newInstance();
                conexao = java.sql.DriverManager.getConnection(URL_BANCO, USUARIO, SENHA);
            } catch (java.lang.InstantiationException e) {
                e.printStackTrace();
                throw new java.lang.Exception("Erro ao criar instância do driver.");
            } catch (java.lang.ClassNotFoundException e) {
                e.printStackTrace();
                throw new java.lang.Exception("Classe do driver não encontrada.");
            } catch (java.lang.IllegalAccessException e) {
                e.printStackTrace();
                throw new java.lang.Exception("Classe do driver não pode ser carregada.");
            } catch (java.sql.SQLException e) {
                e.printStackTrace();
                throw new java.lang.Exception("Erro ao conectar com o banco de dados.");
            }
        }
        return (conexao);
    }
    
}

e

/*
	Teste.java
*/
public class Teste {
	public static void main(String [] args) {
		try {
			java.lang.String sql = "SELECT ProfissaoNome FROM Profissao";
			java.sql.Statement comando = Conexao.obterConexao().createStatement();
			java.sql.ResultSet registro = comando.executeQuery(sql);
			while (registro.next()) {
				System.out.println(registro.getString("ProfissaoNome"));
			}
			registro.close();
		} catch (java.sql.SQLException e) {
			System.out.println(e.getMessage());
		} catch (java.lang.Exception e) {
			System.out.println(e.getMessage());
		}
	}
}

Ambos compilam normalmente, mas ao executar o arquivo Teste.class (java Teste) a seguinte mensagem acontece:

java.sql.SQLException: No suitable driver
at java.sql.DriverManager.getConnection(DriverManager.java:532)
at java.sql.DriverManager.getConnection(DriverManager.java:171)
at Conexao.obterConexao(Conexao.java:27)
at Teste.main(Teste.java:5)
Erro ao conectar com o banco de dados.

Meu CLASSPATH é o seguinte:
.;C:Program Filesj2sdk_nbj2sdk1.4.2lib;C:Program Fileshsqldblib;C:Program Fileshsqldblibhsqldb.jar

Alguém consegue me explicar por que os demos que veem com o HSQLDB funcionam, e esse exemplo, não?

Muito grato desde já.

Criado 19 de março de 2004
Respostas 0
Participantes 1