pessoal, preciso de ajuda,
como o titulo do topico ja pergunta, como posso usar o show tables;
no meu sistema java com jdbc?
pessoal, preciso de ajuda,
como o titulo do topico ja pergunta, como posso usar o show tables;
no meu sistema java com jdbc?
[quote=luizgomaciel]pessoal, preciso de ajuda,
como o titulo do topico ja pergunta, como posso usar o show tables;
no meu sistema java com jdbc?
[/quote]
pessoal, quero resgatar os nomes das tabelas pelo sistema java, naum sei fazer isso pelo JDBC
[code] String driver = “org.firebirdsql.jdbc.FBDriver”; //Classe do driver JDBC
String url = “jdbc:firebirdsql:127.0.0.1/3050:C:\Users\Luiz Gustavo\Desktop\LULI.FDB”;
String usuario = “SYSDBA”; //Usuário do banco
String senha = “masterkey”; //Senha de conexão
try {
Class.forName(driver); //Carrega o driver
//Obtém a conexão com o banco
Connection conn;
conn = (Connection) DriverManager.getConnection(url, usuario, senha);
//Cria um statement para podermos mandar um SQL para o banco
String sql = "show tables";
Statement rec = conn.createStatement();
ResultSet rs = rec.executeQuery(sql);
if (rs.next()){
cbTabela.addItem(rs.getString(1));
rs.close();
}
}
catch (ClassNotFoundException ex) {
JOptionPane.showMessageDialog(null,"Não foi possível carregar o driver.","Não foi possível carregar o driver.",JOptionPane.CANCEL_OPTION);
Logger.getLogger(tes.class.getName()).log(Level.SEVERE, null, ex);
}
catch (SQLException ex) {
JOptionPane.showMessageDialog(null,"Problema com o banco de dados","Problema com o banco de dados",JOptionPane.CANCEL_OPTION);
Logger.getLogger(tes.class.getName()).log(Level.SEVERE, null, ex);
}[/code]
vejam o que ha de errado nesse codigo
Procure na documentação do seu banco de dados que stored procedure ou tabela deve ser consultada para visualizar as tabelas do seu banco. Por exemplo, no caso do MySQL, você precisa efetuar um SELECT da tabela INFORMATION_SCHEMA.TABLES, de acordo com o exemplo mostrado em:
http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
Você não pode usar diretamente o “show tables”, conforme você tentou usar, já que isso não é um comando SQL e sim um comando daquele programinha (o “mysql”).
EDIT - aham, você não disse que era Firebird, mas o comando é mais ou menos o mesmo, já que isso (INFORMATION_SCHEMA.TABLES) é mais ou menos um padrão para vários bancos de dados.
[quote=entanglement]Procure na documentação do seu banco de dados que stored procedure ou tabela deve ser consultada para visualizar as tabelas do seu banco. Por exemplo, no caso do MySQL, você precisa efetuar um SELECT da tabela INFORMATION_SCHEMA.TABLES, de acordo com o exemplo mostrado em:
http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
Você não pode usar diretamente o “show tables”, conforme você tentou usar, já que isso não é um comando SQL e sim um comando daquele programinha (o “mysql”).
EDIT - aham, você não disse que era Firebird, mas o comando é mais ou menos o mesmo, já que isso (INFORMATION_SCHEMA.TABLES) é mais ou menos um padrão para vários bancos de dados.
[/quote]
bom eu to usando firebird e o SHOW TABLES;
funciona nele!!!
[quote=luizgomaciel][quote=entanglement]Procure na documentação do seu banco de dados que stored procedure ou tabela deve ser consultada para visualizar as tabelas do seu banco. Por exemplo, no caso do MySQL, você precisa efetuar um SELECT da tabela INFORMATION_SCHEMA.TABLES, de acordo com o exemplo mostrado em:
http://dev.mysql.com/doc/refman/5.0/en/tables-table.html
Você não pode usar diretamente o “show tables”, conforme você tentou usar, já que isso não é um comando SQL e sim um comando daquele programinha (o “mysql”).
EDIT - aham, você não disse que era Firebird, mas o comando é mais ou menos o mesmo, já que isso (INFORMATION_SCHEMA.TABLES) é mais ou menos um padrão para vários bancos de dados.
[/quote]
bom eu to usando firebird e o SHOW TABLES;
funciona nele!!![/quote]
po bixo vc vem procura ajuda e ainda quer da uma de esperto…
isso não é comando do padrão sql… a forma como cada banco organiza sua estrutura não é algo que cabe ao jdbc se preocupar.
portanto, vc vai ter que usar as consultas comuns do sql do jeito que cada sgbd manda… nesse caso seguindo o link q o colega passou.
Olá pessoal !
Sei que o post é antigo mas para auxilio de outros deixo uma resposta:
fonte: http://stackoverflow.com/questions/2780284/how-to-get-all-table-names-from-a-database
DatabaseMetaData md = conn.getMetaData();
ResultSet rs = md.getTables(null, null, "%", null);
while (rs.next()) {
System.out.println(rs.getString(3));
}
Essa é a forma de como está funcionando pra mim no firebird.