Derby, ajuda!

Olá Pessoal;
Bom dia!

Estou tentando utilizar um BD que vá junto com minha aplicação sem necessidade de instalar o banco no cliente.
Os colegas aqui do GUJ me indicaram o Derby, acheu um tutorial e consegui criar o banco e tudo mais:

http://www.netbeans.org/kb/docs/ide/java-db_pt_BR.html#starting

Acontece que quando gero o JAR e levo minha aplicação na estação do client aparece um erro de driver não encontrado:

Abaixo segue como estou fazendo a comunicação:

package dao;

import bean.Desbravador;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import javax.swing.JOptionPane;

public class DAO{

    static final String url = "jdbc:derby://localhost:1527/desb;create=true";
    static final String driver = "org.apache.derby.jdbc.ClientDriver";
    static final String user = "abc";
    static final String password = "abc";

    public Boolean selUsuario(){
        Connection conn=null;
        PreparedStatement ps=null;
        ResultSet rs=null;
        
        Boolean vOK=false;

        String sqlSelUsuario = "SELECT * FROM Usuario";

        try {
            Class.forName(driver);
        }
        catch (ClassNotFoundException ex) {
            ex.printStackTrace();
            vOK=false;
            JOptionPane.showMessageDialog(null,"ERRO -- DAO / Classe não encontrada: "+ex);
        }

        try {
            conn=DriverManager.getConnection(url,user,password);
            ps=conn.prepareStatement(sqlSelUsuario);
            rs=ps.executeQuery();
            
            while (rs.next()){
                vOK=true;
            }
            
            ps.close();
            rs.close();
            conn.close();

        }
        catch (SQLException ex) {
            ex.printStackTrace();
            JOptionPane.showMessageDialog(null,"ERRO -- DAO / Driver não encontrado: "+ex);            
            vOK=false;
        }
    return vOK;
    }
}

Na minha maquina, onde está o netbeans está tudo certinho, mas na maquina do client dá o erro do segundo catch:

java.sql.TransientConnectionException: java.net.ConnectionException: Erro ai cibectar o servidor ‘localhos’ porta ‘1527’. Recebida a mensagem: ‘Connection refused: closed’.

Tenho que instalar algum servidor no client para que possa acessar o banco de dados?

Obrigado à todos!

Marco A.

Primeiro, você tinha que criar uma conexão embedded (embarcada) onde a url deve ser mais ou menos assim:

e o driver deve ser esse:

Abraços!

Olá "ajFilho"
Obrigado pela dica.

Alterei para EmbeddedDriver, minha dúvida é:

Quando você citou:

"jdbc:derby:suaBase;create=true" 

Neste caso, o termo “suaBase” se refere ao path onde ela está? Exemplo:

"jdbc:derby:c:\\desbravador\\databases\\desb;create=true" 

Obrigado pela atenção e apoio!

Marco A.

Não adianta só alterar para EmbeddedDriver, você tem que ter o jar no seu classpath, senão não vai funcionar…

–> Editando…

no lugar disso:

seria isso:

Abraços!

Olá…

se eu colocar:

static final String url = "jdbc:derby:desb;create=true";

Aí meu projeto, no netbeans mesmo, não roda. Dá o erro:

java.sql.SQL.SyntaxErrorExceprion: ‘O esquema ‘ROOT’ não existe’

Desculpe a insistência, sempre usei o Mysql e agora necessito usar o Derby mas tá dando trabalho :frowning:

Então, resolvi usar o HSQLDB…

Consequi usar ele sem rodeios!

Obrigado pela ajuda!

Marco A.