アプリ版:「スタンプのみでお礼する」機能のリリースについて

Class.forName("com.mysql.jdbc.Driver")が接続出来ません
どなたかお教え頂けないでしょうか
MySQLを再インストールしてもだめです

下記環境で動かしています。
eclipse-3.72
MySQL5.5.13,JDBC:4.0.0
mysql-connector-java5.1.17-bin.jar
jdk.1.6.0_26

eclipseで
接続プロファイルを作成し、mysql-connector-java5.1.17-bin.jarを設定して
接続デスト pingが正常に完了しましたで問題がありません。

またjavaのビルド・パスにもmysql-connector-java5.1.17-bin.jarが有りますが

javaを実行すると下記状態になります

Class.forName("com.mysql.jdbc.Driver")が接続出来ません


下記が実行ソースプログラム

import java.io.*;

import javax.servlet.*;
import javax.servlet.http.*;
import java.sql.*;

public class test01 extends HttpServlet {
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws IOException, ServletException{

response.setContentType("text/html; charset=Shift_JIS");
PrintWriter out = response.getWriter();

out.println("<html>");
out.println("<head>");
out.println("<title>データベーステスト</title>");
out.println("</head>");
out.println("<body>");

out.println("<p>");

Connection conn = null;
String url = "jdbc:mysql://localhost/testdb";
String user = "root";
String password = "test";

try {
Class.forName("com.mysql.jdbc.Driver").newInstance();
out.println("ドライバのロードに成功しました<br>");

conn = DriverManager.getConnection(url, user, password);
out.println("データベース接続に成功しました<br>");
}catch (ClassNotFoundException e){
out.println("ClassNotFoundException:" + e.getMessage());
}catch (SQLException e){
out.println("SQLException:" + e.getMessage());
}catch (Exception e){
out.println("Exception:" + e.getMessage());
}finally{
try{
if (conn != null){
conn.close();
out.println("データベース切断に成功しました");
}else{
out.println("コネクションがありません");
}
}catch (SQLException e){
out.println("SQLException:" + e.getMessage());
}
}

out.println("</p>");

out.println("</body>");
out.println("</html>");
}
}

A 回答 (3件)

こんにちは。



mysql-connector-java5.1.17-bin.jar を
WEB-INF/lib フォルダに配置すればMySQLに接続できるはずです。

確認してみて下さい。
    • good
    • 0

class.forNameで失敗するときは、実行時のクラスパスが通っていません。


おそらくWebプロジェクトだと思うので、WEB-INFにmysqlのjarファイルを入れるなり、
アプリサーバのjarファイル群に追加するなりすれば、いいと思います。

どこに配置するのが適正かは、アプリによります。
    • good
    • 0

Class.forName("com.mysql.jdbc.Driver").newInstance();



Class.forName("com.mysql.jdbc.Driver");

こうしたら、どうなりますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!