gpt4 book ai didi

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

转载 作者:可可西里 更新时间:2023-11-01 07:41:21 28 4
gpt4 key购买 nike

我正在尝试从数据库下选择所有表名。为此使用以下代码行。

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 数据库中获取表的详细信息?

如果它..请提供区别以在差异数据库(如 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, null, 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()

关于java - 在 mssql 的情况下,metadata.getTables 结果集为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11322863/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com