質問: result.getString( "USER_NM" ); System.out.println( str1 + ", " + str2); } /*ResultSetオブジェクトを閉じる*/ result.close(); /*Statementオブジェクトを閉じる*/ st.close(); /*Connectionオブジェクトを閉じる*/ con.close(); } catch( SQLException e ){ /*エラーメッセージ出力*/ System.out.println( "Connection Failed. : " + e.toString() ); /*例外を投げちゃうぞ*/ throw new Exception(); }catch (ClassNotFoundException e){ /*エラーメッセージ出力*/ System.out.println("ドライバを読み込めませんでした " + e); } finally{ try{ if( con != null ){ con.close(); } } catch(Exception e){ /*エラーメッセージ出力*/ System.out.println( "Exception2! :" + e.toString() ); /*例外を投げちゃうぞ*/ throw new Exception(); } } } } ``` ### 補足情報(FW/ツールのバージョンなど) JDK1.8
回答: 解決したので、手順を記載しておきます。 <1> MySQLダウンロードページから「Connector/J」を選択します。 <2>「Select Operating System:」に「Platform Independent」を選択して、tar.gz又はzip形式どちらかをダウンロードします。(私の場合はzipをダウンロードしました) <3> zipを解凍すると中に、「mysql-connector-java-8.0.19.jar」があるのでそれをコピーしcloud9上のjavaファイルと同様のディレクトリに置きます。 <4> その後は、以下のコマンド実行によりMySQL接続が出来ました。 ``` $ CLASSPATH=.:mysql-connector-java-8.0.19.jar; export CLASSPATH $ javac 〇〇.java $ java 〇〇 ``` 但し、JDBCドライバのクラス名は以下のように修正する必要がありました。 ``` Class.forName( "com.mysql.jdbc.Driver" ).newInstance(); ↓ Class.forName( "com.mysql.cj.jdbc.Driver" ).newInstance(); ``` 本来であれば、Cloud9上の「Run」ボタンからでもJDBCドライバを使用して接続を行いたかったのですが、「Run」からであるとJDBCドライバのクラスが読み込まれなかったので、現在はコマンドからクラスパスを設定してコンパイルも行うようにしています。 「Run」からでも同じように接続できるようにするためには、JDKのクラスパス設定を触るのかなと思います。(予想ですが) 「Run」からでも実行できるよう、今後も時間があれば調査していきます。