Help com HSQLDB [RESOLVIDO]

Sou iniciante em java, aproximadamente 4 meses e estou tendo alguns problemas muito “chatinhos” com essa !@#$%¨&** de hsqldb e, estou começando com banco de dados em java

mas parece-me que o erro é bem simples, vamos ao x da questão

fiz um programinha só pra testar o banco de dados e sua conectividade e estou fazendo o mesmo rodar em modo standalone, mas concluí que não está gravando em disco os dados. Os arquivos gerados são somente 4 dos 5 que deveriam ser gerados. Ou seja, os arquivos criados são o lck, log, properties e o script. Mas o arquivo principal, o data, não foi criado.

Alguem poderia me dar uma ajuda???
na minha classe criei 4 métodos, um para conectar, outro pra criar as tabelas, outro pra inserir os dados nela e outro para imprimir.
O que acontece é que, quando os 4 métodos são executados, ele imprime numa boa. Mas quando eu executo somente o conectar e o imprimir dados ele diz que a tabela não foi encontrada.
O código fonte:

import java.sql.*;

class TesteBancoDados {
Connection conexao = null;

public TesteBancoDados() {
	conectarBanco();
	//criarTabelas();
	//inicializaTabelas();
	realizaConsulta();
}

public void conectarBanco() {

	String driver = "org.hsqldb.jdbcDriver";
	String url = "jdbc:hsqldb:file:dbCurso";
	String usuario = "sa";
	String senha = "";
	
	try {
	Class.forName(driver);
	conexao = DriverManager.getConnection(url, usuario, senha);
	System.out.println("Conexão realizada com sucesso");
	}
	catch (SQLException ex) {
		System.out.println("SQLException");
		while (ex != null) {
			System.out.println("SQLState: " + ex.getSQLState());
			System.out.println("Mensagem: " + ex.getMessage());
			System.out.println("Código de Erro: " + ex.getErrorCode());
			System.out.println("");
			ex = ex.getNextException();
		}

	}
	catch (Exception e) {
		System.out.println(e.getMessage());
		e.printStackTrace();
	}
	finally {
		//try {
		//conexao.close();
		//}
		//catch (Exception e) {
		//}
	}
}

public static void main (String[] args) {
	TesteBancoDados application = new TesteBancoDados();
}

public void criarTabelas() {
	try {
		String tabelaFornecedor = "CREATE CACHED TABLE Fornecedor ("
					+ "idFornecedor	INTEGER PRIMARY KEY,"
					+ "razaoSocial	varchar(100) NOT NULL,"
					+ "endereco	varchar(50),"
					+ "complemento	varchar(20),"
					+ "bairro	varchar(30),"
					+ "cidade	varchar(30),"
					+ "estado	char(2),"
					+ "cep		varchar(10),"
					+ "telefone	varchar(15),"
					+ "eMail	varchar(100),"
					+ "cnpj		varchar(20))";

		String tabelaProduto = "CREATE CACHED TABLE produtos("
					+ "idProduto	INTEGER PRIMARY KEY,"
					+ "produto		varchar(100) NOT NULL,"
					+ "idFornecedor	INTEGER NOT NULL,"
					+ "qtdaEstoque	INTEGER NOT NULL,"
					+ "data		date,"
					+ "constraint	fk_fornecedor foreign key"
					+ "(idFornecedor) references fornecedor(idFornecedor))";
					
		Statement st = conexao.createStatement();

		int t1 = st.executeUpdate(tabelaFornecedor);
		System.out.println("Tabela Fornecedor criada com sucesso");

		int t2 = st.executeUpdate(tabelaProduto);
		System.out.println("Tabela Produto criada com sucesso");
		
		st.close();
		}
		
	catch (SQLException exc) {
		System.out.println(exc.getMessage());
		exc.printStackTrace();
	}
}

public void inicializaTabelas() {
	try {
		String tabelaFornecedor = "insert into Fornecedor(idFornecedor," +
		"razaoSocial, endereco, complemento, bairro, cidade, estado, cep, telefone," +
		"eMail, cnpj) values ('1','Uniplac','rua euclides','ap 22','beatriz','lages'," +
		"'sc','8850511','2223023','ehua@uniplac.net','41547894')";
		
		Statement st = conexao.createStatement();
		
		int t1 = st.executeUpdate(tabelaFornecedor);
		
		st.close();
	}
	catch (SQLException e) {
		System.out.println(e.getMessage());
		e.printStackTrace();
	}
}

public void realizaConsulta() {
	try {
		Statement st = conexao.createStatement();
		ResultSet rs = st.executeQuery("SELECT * FROM Fornecedor");
	
		while (rs.next()) {
				System.out.println(rs.getInt("idFornecedor"));
				System.out.println(rs.getString("razaoSocial"));
				System.out.println(rs.getString("endereco"));
				System.out.println(rs.getString("complemento"));
				System.out.println(rs.getString("bairro"));
				System.out.println(rs.getString("cidade"));
				System.out.println(rs.getString("estado"));
				System.out.println(rs.getString("cep"));
				System.out.println(rs.getString("telefone"));
				System.out.println(rs.getString("eMail"));
				System.out.println(rs.getString("cnpj"));
		}	
	
		st.close();
		rs.close();
	}
	catch (SQLException x) {
		System.out.println(x.getMessage());
		x.printStackTrace();
	}
}

}

quem puder me ajudar eu ficaria muito grato
vlw ;*

se nao me engano, o arquivo .data é gerado quando o comando “SHUTDOWN” é executado.

crie um método shutdown() para encerrar o banco.

public void encerraConexao() {
   st.execute("SHUTDOWN");
   System.out.println("conexao encerrada");
}

[quote=finotti]se nao me engano, o arquivo .data é gerado quando o comando “SHUTDOWN” é executado.

crie um método shutdown() para encerrar o banco.

public void encerraConexao() {
   st.execute("SHUTDOWN");
   System.out.println("conexao encerrada");
}

[/quote]

bah velho deu certo
mtooooo obrigado

to te devendo uma cerva :wink:

Opa! :smiley:

Você usa Eclipse?

baixei um plugin pra modelagem que parece ser muito bom!
Funciona bem com o HSQLDB.
Plugin HSQLDB

[]s

nem uso, uso soh JCreator huahuahuahau

netbeans e eclipse naum uso (ainda)
sei lah, naum to com muita vontade de mexer com eles… sei lah, naum me parece ser mto legal, vou sperar eu ficar bem ninja programando em estrutura ;D

mas mesmo assim vlw, vou baixar ele pra mim usar no futuro :wink: