Acesso a DBFs com hxtt

2 respostas
D

Pessoal, tenho um sistema composto de 4 modulos, antigo, escrito em Clipper 5.2. Aos poucos vamos começar a migrar esse sistema para Java, modulo por módulo (são módulos grandes).

Estou tentando usar o hxtt para acessar os DBF (bancos de dados) da aplicação. Mas não estou conseguindo seguir os exemplos. O problema é que a instrução SQL não funciona:

String sql = "SELECT * FROM CLIENTES";

O mais estranho é que ele roda a instrução:

ResultSet rs = stmt.executeQuery(sql);

E quando eu tento colocar um nome de campo:

String sql = "SELECT NOME FROM CLIENTES";

Ele diz que o campo "NOME" não existe (mas ele existe).

Eu tentei ajustar a propriedade "Version Number" para "03" (dBASE III) mas não tem efeito. (Aliás achei meio estranho esses nomes de propriedades -- meio sem padrão -- para um produto comercial).

Alguém, sabe onde posso estar errando? Alguma idéia?
Seguem os trechos mais importantes do código de teste que estou usando:

String databaseDriverName = "com.hxtt.sql.dbf.DBFDriver";
Class.forName(databaseDriverName).newInstance();

String databaseDirectory = "e:\sistema\dados\";
String url = "jdbc:DBF:/" + databaseDirectory;
String sql = "SELECT NOME FROM CLIENTES";

Connection con = DriverManager.getConnection(url);
Statement stmt = con.createStatement();

ResultSet rs = stmt.executeQuery(sql);

while (rs.next()) {
      System.out.println(rs.getString("NOME"));
}

Obrigado.

2 Respostas

_fs

Pergunta cretina, mas quem sabe:

a coluna na tabela tem exatamente este nome, em caixa alta? Se não, o problema é que a coisa toda é case sensitive.

D

É eu to surrado com isso já… tentei “NOME”, “Nome”, “nome”… só não tentei “NoMe” nem “nOmE”… :smiley: hehehe

eita, tristeza :frowning:

Aha! eu tentei também "NOME " (seguido de 6 espaços) – pq o tamanho máximo para nomes de coluna é 10 caracteres… até isso eu já tentei.

Criado 4 de agosto de 2004
Ultima resposta 4 de ago. de 2004
Respostas 2
Participantes 2