我试图从数据库中选择所有表名.使用以下代码行.
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();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。