嗨 StackOverflow 社区 :)
我来找你分享我的一个问题......
我必须提取SQL Server 实例的每个数据库中每个表的列表,我发现了这个查询:
EXEC sp_msforeachdb 'Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables'
它在 Microsoft SQL Server Management Studio 上完美运行,但是当我尝试在我的 Java 程序(包括 SQL Server 的 JDBC 驱动程序)中执行它时,它说它不返回任何结果。
我的 Java 代码如下:
this.statement = this.connect.createStatement(); // Create the statement
this.resultats = this.statement.executeQuery("EXEC sp_msforeachdb 'Use ?; SELECT DB_NAME() AS DB, * FROM sys.tables'"); // Execute the query and store results in a ResultSet
this.sortie.ecrireResultats(this.statement.getResultSet()); // Write the ResultSet to a file
感谢任何愿意帮助我的人, 祝你有美好的一天:)
编辑 1:
我不确定 SQL Server 的 JDBC 驱动程序是否支持我的查询,所以我将尝试以另一种方式实现我的目标。
我想要得到的是SQL Server 实例上每个数据库的所有表的列表,输出格式如下:
+-----------+--------+
| Databases | Tables |
+-----------+--------+
所以现在我问有人可以帮助我通过 Java 的 JDBC for SQL Server driver 使用 SQL 查询来获得该解决方案。
我还要感谢Tim Lehner和Mark Rotteveel给我的快速答复。