gettable(s),这个到底怎么用阿
String []types ={"TABLE"};
ResultSet list=dbmd.getTables(null,"public","",types);
我这样写怎么没有返回值啊,哪位大哥讲下,最好有个相似的例子,谢谢啦1

解决方案 »

  1.   

    怎么不看API?
    meta.getTables(null, null, "", null); 返回所有
      

  2.   

    我要将Postgre数据库的数据导入SQL Sever里,要得到旧有数据库的表名,我只知道模式为public ,其它的参数就不太知道了! X o X
      

  3.   

    这是我的部分代码,现在就是找不到表名,晕死啊!!!          
      Class.forName("org.postgresql.Driver");
                conn1 = DriverManager
                        .getConnection("jdbc_url=jdbc:postgresql://192.168.0.8:5432/fcjgx?user=fcjgx&password=fcjgx");
                DatabaseMetaData dbmd = conn1.getMetaData();
                ResultSet list = dbmd.getTables("fcjgx", "public", "", null);
                while (list.next()) {
                    System.out.println("++++++++DBMS:表名+++++"
                            + list.getString("TABLE_NAME"));            }
                // ResultSet schems =dbmd.getSchemas();
                // while(schems.next()){
                // System.out.println("=====DBMS:模式===="+schems.getString("TABLE_SCHEM"));
                //
                //              
                // }
                ResultSet catalogs = dbmd.getCatalogs();
                while (catalogs.next()) {
                    System.out.println("----DBMS:分列表----"
                            + catalogs.getString("TABLE_CAT"));            }
      

  4.   

    你的参数可能不对
    看看这个
    http://www.leftworld.net/online/j2sedoc/javaref/java.sql.databasemetadata_dsc.htm#getTables(java.lang.String,%20java.lang.String,%20java.lang.String,%20java.lang.String[])
      

  5.   

    终于帮你调试好一个例子public class Test {
        publci static void main(String[] args) throws Exception{
             Class.forName("oracle.jdbc.driver.OracleDriver");    
              Connection con = DriverManager.getConnection
                                ("jdbc:oracle:thin:@192.168.1.131:1521:adm2"
                                ,"teach2005","123456") ;   
              
              DatabaseMetaData dbmd =  con.getMetaData() ;    //得到 DatabaseMetaData
              
              ResultSet rs = dbmd.getTables(null,null,null,null) ; //注意参数 表名是大写敏感的
              
              int columns = rs.getMetaData().getColumnCount();         //获得列数
              
              out.println(columns);
              
              while(rs.next()) {                                      //显示 
                  for(int i = 1;i <= columns ; i ++ )
                       System.out.println(rs.getString(i));
              }
                   }  
    }
    //////////////////////////////////////你运行的时候注意把数据库URL换成你相连接的URL还有meta.getTables(null, null, "", null); 返回所有 的说法有错误应该是meta.getTables(null, null, null, null); 返回所有第三个参数是表名注意大小写!!自己试一试!!
      

  6.   

    meta.getTables(null, null, "", null);
      

  7.   

    你先按照getTables(null, null, null, null)试一试
    看是不是能够得到结果如果有的话就是你的ResultSet list = dbmd.getTables("fcjgx", "public", "", null);
    写的有错误了
    尝试一下把参数一个个用具体的替换掉看问题出在哪里!!如果能够得到连接,而且表也存在的话,肯定是有结果的!!
      

  8.   

    infowain(infowain)为什么说是meta.getTables(null, null, "", null);呢
    是不是你运行后的结果.我刚刚测试过 getTables(null, null, null, null) 能返回所有schema 下的所有表信息
    但是meta.getTables(null, null, "", null);没有数据你用的是什么数据库,我的 Oracle9i.是不是数据库的差异
      

  9.   

    第三个参数和数据库有关,因为API没有明确说明
    有的使用"",有的使用null是很正常的。