加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

java – 在mssql的情况下,metadata.getTables结果集为空

发布时间:2020-12-15 02:35:28 所属栏目:Java 来源:网络整理
导读:我试图从数据库中选择所有表名.使用以下代码行. DatabaseMetaData databaseMetaData = connection.getMetaData(); resultSet = databaseMetaData.getTables(null,dbName,null,null); while(resultSet.next()){ //doing operations - take table name and all
我试图从数据库中选择所有表名.使用以下代码行.

DatabaseMetaData databaseMetaData =  connection.getMetaData();
            resultSet = databaseMetaData.getTables(null,dbName,null,null);
            while(resultSet.next()){
                        //doing operations - take table name and all that
                        }

这里的问题是在mysql的情况下工作正常,意味着底层数据库是mysql – 没问题.但是当我使用mssql尝试相同的代码时,我得到的结果是空的.是否还有其他替代方法可以从mssql数据库中获取表详细信息.

如果它的..please提供了在diff数据库下获取表详细信息的区别,如mysql,mssql,oracle;因为在我的情况下我的数据库可能是上述任何一个.
任何人都可以请帮助.

解决方法

获取代码,例如:

Connection con = null;
    try {

      Class.forName(
        "com.microsoft.sqlserver.jdbc.SQLServerDriver");
      con = DriverManager.getConnection(
          "jdbc:sqlserver://localhost:1269;"
        + "user=sa;password=HerongYang;"
        + "database=AdventureWorksLT");

      DatabaseMetaData meta = con.getMetaData();
      ResultSet res = meta.getTables(null,new String[] {"TABLE"});
      System.out.println("List of tables: "); 
      while (res.next()) {
         System.out.println(
            "   "+res.getString("TABLE_CAT") 
           + ","+res.getString("TABLE_SCHEM")
           + ","+res.getString("TABLE_NAME")
           + ","+res.getString("TABLE_TYPE")
           + ","+res.getString("REMARKS")); 
      }
      res.close();

      con.close();

您可以在此页面尝试此链接:

Listing All Tables – getTables()

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读