私はmysql-connector-java-5.1.22-bin.jarをJAVASE7(正常に動作している)のデスクトップアプリケーションでJDBCに使用していますが、JAVASE 6(JAVASE 7アプリと同じコード)では動作していません。コンソールに例外が表示されることも、作成したデバッグ印刷も表示されません。何が間違っている可能性がありますか?
これが私のプロジェクトフォルダですhttp://open-pages.com/temp.zip
私はmysql-connector-java-5.1.22-bin.jarをJAVASE7(正常に動作している)のデスクトップアプリケーションでJDBCに使用していますが、JAVASE 6(JAVASE 7アプリと同じコード)では動作していません。コンソールに例外が表示されることも、作成したデバッグ印刷も表示されません。何が間違っている可能性がありますか?
これが私のプロジェクトフォルダですhttp://open-pages.com/temp.zip
あなたの問題に Java 6 と Java 7 が関係しているとは思いません。私が読んだ限り、あなたのコードでは Coin 構文を使用しているものはありません。問題は、Java デスクトップ アプリと Web アプリケーションです。JDBC ドライバーは war ファイルに含まれていますか? (ライブラリ フォルダー内) 通常、コンテキスト内でデータベース接続を構成します。xml を開き、InitialContext を使用して dataSource を取得します。
簡単なテスト JSP またはサーブレットを記述してデータベースに接続し、クエリ結果を表示するだけです。テストを容易にするために、例外を Web ページに直接出力することができます。例外がログ ファイルに書き込まれなかった理由がわかりません (サーバーのログ フォルダーに書き込まれた最新のファイルを確認してください)。
<%-- mysqlTest.jsp :For testing mysql connection and database query syntax --%>
<html><body>
<h2 align="center">SQL Test for mySQL JDBC Driver</h2>
<%
java.sql.Connection con = null;
try {
String url="jdbc:mysql://localhost:3306/test";
Class.forName("com.mysql.jdbc.Driver").newInstance();
con=java.sql.DriverManager.getConnection(url, "root", "abc");
if(con!=null) {
String query="select userName, password from users";
java.sql.PreparedStatement stmt=con.prepareStatement(query);
java.sql.ResultSet r=stmt.executeQuery();
while(r.next()){
out.print(r.getString(1));
out.println("<br>");
}
r.close();
stmt.close();
}
else
out.println("<strong>The Database connection is null. DriverManager could not return a valid connection.</strong>");
}
catch(ClassNotFoundException e){
out.println("Cannot load driver<br>" +e.toString());
}
catch(java.sql.SQLException e){
out.println(e);
}
catch(Exception e){
out.println(e);
}
finally {
if(con!=null)
con.close();
}
%></body></html>