从数据库里获得表名的问题,特急,在线等!!!

frankspy 2004-07-21 03:49:07
通过下面的方法获取一个数据库中的表名,据查资料TABLE代表用户拥有的表名
String types[] = new String[]{"TABLE"};
tableNameResult = databaseMetaData.getTables(null,null, null, types);
但是为什么所有的系统表都获取出来

我的用户名是oraaab,另一种方法如下:
String types[] = new String[]{"TABLE"};
databaseMetaData.getTables(null,"oraaab" , null, types),结果什么表名都获得不了,但是在另一个数据库确可以,那位仁兄帮帮忙啊。

...全文
131 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
frankspy 2004-07-21
  • 打赏
  • 举报
回复
也试过 不行
hq1305018 2004-07-21
  • 打赏
  • 举报
回复
ResultSet tables=dbma.getTables(null,null,"%",tableTypes);
frankspy 2004-07-21
  • 打赏
  • 举报
回复
draco2002(Draco):这个和select * from tab的作用是一样的,但是不是解决了我现在的问题
hq1305018(跃强) :和我用的第一种方法是一样的
Frank1982(study) :我的数据库连接已经变了
Frank1982 2004-07-21
  • 打赏
  • 举报
回复
会不会是你使用的是jdbc-odbc桥接方式,只定义了原来的哪个数据库名称,而换了数据库名称以后就无法得到了呢?
hq1305018 2004-07-21
  • 打赏
  • 举报
回复
out.println("全部用户表:<br>");
String[] tableTypes={"table"};
ResultSet tables=dbma.getTables(null,null,"%",tableTypes);
int tableCounts=1;
while(tables.next())
{
out.println(tableCounts+"----");
for(int i=1;i<=10;i++)
{
out.println(i+":"+tables.getString(i)+" ");
}
out.println("<br>");
tableCounts++;
}
out.println("共"+(tableCounts-1)+"张用户表<br>");
draco2002 2004-07-21
  • 打赏
  • 举报
回复
从数据库中取出所有的用户表用下面的命令:
select * from sysobjects where type = 'u'

62,623

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧