質問: rs.getInt("AGE"); System.out.println("ID:" + id); System.out.println("名前:" + name); System.out.println("年齢:" + age + "¥n"); } }catch(SQLException e) { e.printStackTrace(); }catch(ClassNotFoundException e){ e.printStackTrace(); }finally { if(conn != null) { try { conn.close(); }catch(SQLException e) { e.printStackTrace(); } } } } } ``` ### 自分で調べたこと ・SELECT文を書かずにDB接続だけ実行すると何もエラーが出ないので 接続はできている可能性が高いです。 ・H2にはデフォルトでINFORMATION_SCHEMAとPUBLICというスキーマがあり その中にEMPLOYEEというテーブルをCREATEしているので そういったことも何か関係があるのかもしれないです .Java EE のパースペクティブとDB Viewerのパースペクティブでそれぞれ別のDBを扱ってしまっていることがわかりました。が、原因はわかっていません。
回答: 組み込みモードでJDBC接続で指定している sample は、実際に作成されたものでしょうか? H2の組み込みモードの接続は、指定したファイルがない場合は自動的に空のデータベースを作成します。作成したテーブルが存在していないのであれば、それは接続先が誤っているため、新たにデータベースが作成され、そこに接続していますので、接続エラーにはならないのです。 ちなみにH2インストール後に管理画面で作るデータベースは test で、Windows7以降ならば、以下の場所にファイルが作成されます。 ユーザーディレクトリ\test.mv.db ( 例:C:\Users\ユーザ名\test.mv.db )