Olá,
Como eu faço para retornar a lista de tabelas da minha database no SQL Server?
Eu vi que existe uma classe DataBaseMetaData com um método getTables, alguém já usou? Este método requer um monte de parâmetros…
Olá,
Como eu faço para retornar a lista de tabelas da minha database no SQL Server?
Eu vi que existe uma classe DataBaseMetaData com um método getTables, alguém já usou? Este método requer um monte de parâmetros…
Nao existe no sql server um comando que lista as tabelas? Por exemplo, no mysql eh SHOW TABLES. Voce pode usar ele para pegar as tabelas - ex, simplesmente crie um Statement, chame o executeQuery(), e trabalhe com o ResultSet
Rafael
Tenta algo do tipo:
…
String[] tableTypes = { “TABLE” };
DatabaseMetaData metaData;
Connection conn = null;
ResultSet rs = null;
try
{
conn = getConnection();
metaData = conn.getMetaData();
rs = metaData.getTables( null, null, “%”, tableTypes );
…
fôia
Pode ser que existe algo parecido com o oracle.
Select table_name from all_tables
Exitem outras como all_views, etc…
é só ver se tem.
Falow
Execute este comando
SELECT *
FROM sysobjects
WHERE xtype=‘U’
A sugestao do Bjorn Born deu certo, a do Ssalgado nao deu. Na do foia, tb deu certo, mas se alguem quiser pegar o nome da tabela, tem que fazer:
nome_tabela=rs.getString(“TABLE_NAME”);
Grato pela ajuda
Ok, mtu bom consegui pela query do prórpio banco…
Obrigado
Foia, como que eu pego o resutado do Resulset nesse caso?
Eu achei uma forma muito interessante
...
try {
rs1 = con.getMetaData().getColumns(null, null, "", null);
rs = con.getMetaData().getTables(null, null, "", null);
while (rs.next()) {
System.out.println(rs.getString("TABLE_NAME"));
System.out.println(rs.getString("TABLE_TYPE"));
} ...
O que tem nesse seu getMetaData?
ele pega a estrutura do banco em tabelas, e colunas