私は、動的Webプロジェクトで、PreparedStatementを使用してDB2データベースに対してSQLクエリを実行しています。PreparedStatementがDB2で実行しようとしている完全なクエリを取得するにはどうすればよいですか?
String myQuery = "select id from user where name = ?";
PreparedStatement stmt = connection.prepareStatement(myQuery);
stmt.setString(1, test);
ResultSet resultSet = statement.executeQuery();
は、どのように私は、コンソールでDB2サーバー上で実行されようとしている完全なSQLクエリを受け取ることができますか?
はドライバによって異なりますが、これは動作する場合と動作しない場合があります。 'stmt.toString()'を試してください。このためのネイティブサポートはありません。 'PreparedStatement'はインタフェースであり、そのような機能の実装を必要としません。 – user2914191
javaで成功しない場合は、DB2に動的SQLとパラメータ・マーカー変数の値を報告するDBAと話をしてください。 DBAが使用するメカニズムは、DB2サーバーが稼動しているオペレーティング・システム(Z/OS、iシリーズ、Linux/Unix/Windows)とDB2バージョンとに依存します。 – mao