こんにちはStackOverflowコミュニティ:)
私はあなたに私の問題の1つを共有するために来ました...
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から得た非常に迅速な回答にも感謝します。