Olá pessoal,
alguém sabe me dizer como posso fazer para pegar o nome das tabelas e das colunas de uma BD através de uma conexão com JDBC?
Abraços
Não tenho o fonte aqui comigo, mas procure algo sobre DatabaseMetaData.
Acredito que é o que vc ta precisando.
naum entendi muito bem sua pergunta, mas se vc quiser cololar seu bd no odbc, vai em executar o windows escreve odbcad32, vai em fonte de dados do sistemas, adicionar, escolhe o tipo de db, depois vc vai em selecionar e da um nome a conexao odbc pra tabela, mas caso vc queira configurar pro java buscar as INFOS DAS linhas ai vc faiz assim:
package testes_geral;
import java.sql.*;
import javax.swing.*;
public class Main {
public static void main(String[] args)
{
//Cada coluna da Tabela deve ter uma variavel antes de ser lida
String col1 = null,col2 = null,col3 = null,col4 = null,col5 = null,col6 = null;
/* Para conectar com a base de dados*/
String url;
/*Nome do driver Acess para java*/
String driver;
/*Declara a conexão como nula*/
Connection con = null;
/* Usado para passagem de instruções SQL */
Statement stmt;
/* Exames é nome dado no ODBC */
url = "jdbc:odbc:nome_do_bd_no_odbc";
/* Nome do Driver */
driver = "sun.jdbc.odbc.JdbcOdbcDriver"; // driver do access
//Tenta conectar e trata erro se ocorrer
ResultSet rs; //Define um data set para saida dos dados da consulta
/* Numero de Operações na base de dados , na realidade pode ser configurado */
try
{
Class.forName(driver);
con = DriverManager.getConnection(url);
JOptionPane.showMessageDialog(null, "Conecção aceita" + "\n"+ con);
//Cria uma string de busca "query" em ingles
stmt= con.createStatement();
String busca="SELECT * FROM Supplier where SupplierID <7";
//joga as infos dentro do rs, aqui vc joga nas colunas
rs = stmt.executeQuery(busca);
if(rs!= null)
while (rs.next())
{
col1=rs.getString("SupplierID");
col2=rs.getString("Supplier Name");
col3=rs.getString("Address1");
col4=rs.getString("Address2");
col5=rs.getString("Region");
col6=rs.getString("Country");
;
}
//para vc vizualizar o as infos da table
JOptionPane.showMessageDialog(null, col1+" "+col2+" "+ col3+" "+col4+" "+col5+" "+col6+" \n ");
rs.close();
stmt.close(); //encerrra o stmt
con.close(); //fecha conexão
}
catch(Exception ex) //Sai em caso de erro mas não trava o software
{
JOptionPane.showMessageDialog(null, "Erro" + ex);
}
System.exit(0);
}
}
[quote=julianofischer]Olá pessoal,
alguém sabe me dizer como posso fazer para pegar o nome das tabelas e das colunas de uma BD através de uma conexão com JDBC?
Abraços[/quote]
Bem isso nao depende do tipo de conexão, indiferente de JBCD vc pode pegar os nomes sim, mais para te ajudar preciso saber qual banco vc esta utilizando pois os comandos para isso sao especificos para cada BD.
MySQL
bem em mysql para pegar as tabelas de um banco vc usa.
SHOW TABLES
para as colunas SHOW COLUMNS FROM nome_da_tabela
referencias http://dev.mysql.com/doc/refman/5.0/en/show-columns.html
Isso mesmo funcionou… vlws cara muito grato
Disponha