Posso desistir do HSQL-DB? ninguem usou? nao presta?

6 respostas
R

Amigos…teoricamento o HSQL-DB funcionaria melhor para mim. Pois, com o mysql nao consigo gerar um install que instale o .jar e o mysql de uma vez…e como o projeto é standalone o HSQL-DB daria conta do recado…mas so acho artigo ate o funcionamento da ferramente de gerenciamento dele…nao consegui contato com ninguem que ja usou…

minha duvida:

1 - ao iniciar a ferramenta de gerenciamento direciono o banco para o path do meu projeto e blz…roda blz…mas se vou no mesmo caminho nao existe arquivo nenhum

Alguem ai ja usou ?

Rodrigo

6 Respostas

K

Já usei e recomendo! Apesar de ser feito em Java ele é bem rápido até, e me lhor de tudo.: Tão portável quanto sua aplicação.

Faz um tempo que eu usei. Só me lembro que você deve colocar o jar dele no path do seu projeto e fazer uma conexão de u mcerto tipo para que eele use o modo “embebido”. Dai ele vai salvar o banco na mesma pasta que ele está!

G

Já usei embarcado principalmente em aplicativos construídos com Swing. Ele funciona muito bem.

C

EU ja não gostei da experiência usando Java Web Start com ele.

G

Porque rafa ?

C

A Minha agenda que eu fiz, ta com esse problema, da uma olhada pra tu mesmo ver o q acontece qdo tu starta a aplicacao e insere 2 registros, depois starta d novo e consulta.

E

Testa o programa abaixo. Ele usa hsqldb numa boa. Ao invés de setar o classpath do hsqldb, eu acho mais fácil mover (ou copiar) o arquivo hsqldb.jar para o diretório em que o java reconhece o arquivo jar automaticamente. Este diretório é c:/SeuCaminhoJava/jre/lib/ext
Exemplo:
c:/Arquivos de programas/Java/jdk1.5.0_07/jre/lib/ext/hsqldb.jar

// Evandro Ribeiro - abril-2004

import java.sql.<em>;

import java.util.</em>;

import javax.swing.JOptionPane;

import java.sql.Connection;

import java.sql.DriverManager;

class TesteDB{
private DBConnection db;

TesteDB(
	String sDriver, String url, String username, String password){
	
db = new DBConnection(
	sDriver, url, username, password);

db.execute(
	"DROP TABLE Pedido;");
consultaEstrutura("apos deletar tabela");	
	
db.execute(
	"CREATE TABLE Pedido " + 
	"(Campo1 SMALLINT,Campo2 SMALLINT," + 
	"Campo3 VARCHAR(50));");
consultaEstrutura("apos criar tabela");	


db.execute(
	"INSERT INTO Pedido " +
   	"(Campo1, Campo2, Campo3) " +
   	" VALUES ( " + 10 +",20, 'valor_cpo3');");
db.execute(
	"INSERT INTO Pedido " +
   	"(Campo1, Campo2, Campo3) " +
   	" VALUES ( " + 30 +",40, 'valor_cpo3');");	   	
consultaDados("apos inserir dados");	

db.execute(
	"UPDATE Pedido SET" +
   	" Campo2 = " + 25 +
   	" where Campo1 = " + 10 + ";");
consultaDados("apos atualizar dados");	

db.execute(
	"DELETE FROM Pedido where Campo1 = " + 30);	
consultaDados("apos excluir dados");	
		
db.close();
}

void consultaEstrutura(String titulo){
System.out.println("\n" + titulo);	
ResultSet rs = db.getResulSet("select * from Pedido;");	
try{
	ResultSetMetaData rsmd = rs.getMetaData();

	for(int i=1; i &lt;= rsmd.getColumnCount();i++){
		System.out.println(	
				rsmd.getTableName(i) +
	 	"\t" +	rsmd.getColumnName(i) +
		 "\t" +	rsmd.getColumnTypeName(i));
		}	
	}
catch (Exception e){e.getMessage();}
}


public void consultaDados(String titulo){
System.out.println("\n" + titulo);	
ResultSet rs = db.getResulSet("select * from Pedido order by campo1;");	
try{
		while (rs.next()){
			System.out.println(
				Integer.toString(rs.getInt( "Campo1" )) 
			+	'\t' + Integer.toString(rs.getInt( "Campo2" ))
			+	'\t' + rs.getString( "Campo3" ) 
				);
		}
	}
catch (Exception e){e.getMessage();}	
}			


public static void main(String args[]){
TesteDB teste = new TesteDB("org.hsqldb.jdbcDriver",
	"jdbc:hsqldb:file:c:/java/util/_BancodeDados_HSQLDB/DB",
	"sa",
	"");
}

}

Criado 16 de outubro de 2006
Ultima resposta 18 de out. de 2006
Respostas 6
Participantes 5