Pessoal,
to com um problemão aqui, pois preciso usar o seguinte código para pegar todas as tabelas do banco de dados:
DatabaseMetaData metaData = conn.getMetaData();
rs = metaData.getTables(null,null,null,null);
while( rs.next() ) {
System.out.println( rs.getString("TABLE_NAME") );
}
Nos meus testes com o MySQL isso funciona bem, pois me retorna apenas as tabelas do banco para o database específico. Porém no Oracle el retornar TODAS as tabelas do banco, incluindo as tabelas do próprio Oracle. Ainda não testei com outros bancos.
No entendo eu queria que me listasse APENAS as tabelas que aquela conexão específica tem acesso.
Eu posso especificar o SCHEMA ou CATALOG que eu quero usar, porém para o Oracle como para o MySQL, cada um usa um modo diferente.
Oracle: Usa schema, que é o nome do user da conexão.
MySQL: Usa Catalog, que é o database name.
Pensei em verificar qual usa catalog e qual usa schema, usando os métodos getSchemas( ) e getCatalog(s ) e então usar o valor correto.
Alguém sugere algo diferente?
,