重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

<%@ page contentType="text/html; charset=UTF-8" import="java.io.*, java.sql.*" %>

<%
Class.forName("com.mysql.jdbc.Driver");
Connection con=DriverManager.getConnection("jdbc:mysql://localhost/database1?user=user1&password=password1&useUnicode=true&characterEncoding=UTF-8");
Statement stmt=con.createStatement();
ResultSet result=stmt.executeQuery("select * from table1;");
%>

<table>
<tr>
<th>country</th>
<th>city</th>
</tr>

<%
while(result.next())
{
%>

<tr>
<td> <%= result.getString(1) %></td>
<td> <%= result.getString(2) %></td>
</tr>

<%
}
stmt.close();
con.close();
%>
</table>

でエラーがでてデータベースに接続できません
メッセージは以下の通りです

org.apache.jasper.JasperException: Exception in JSP: /gomitable1.jsp:12

11: Class.forName("com.mysql.jdbc.Driver");
12: Connection con=DriverManager.getConnection("jdbc:mysql://localhost/database1?user=user1&password=password1&useUnicode=true&characterEncoding=UTF-8");
13: Statement stmt=con.createStatement();
14: ResultSet result=stmt.executeQuery("select * from table1;");
15: %>

原因
javax.servlet.ServletException: Error during query: Unexpected Exception: java.io.CharConversionException message given: null


このメッセージの意味もわかりません
何が悪いのでしょうか?

A 回答 (1件)

Class.forName("org.gjt.mm.mysql.jdbc.Driver");


暫くMySQLを使っていませんが、以前は上記のクラス名を使って接続していたけどなー・・・
>Class.forName("com.mysql.jdbc.Driver");

この回答への補足

ありがとうございます
やってみましたがエラーメッセージが次のように変わりました
よろしくおねがいします

org.apache.jasper.JasperException: Exception in JSP: /gomitable1.jsp:12

11: //Class.forName("com.mysql.jdbc.Driver");
12: Class.forName("org.gjt.mm.mysql.jdbc.Driver");
13: Connection con=DriverManager.getConnection("jdbc:mysql://localhost/database1?user=user1&password=password1&useUnicode=true&characterEncoding=UTF-8");
14: Statement stmt=con.createStatement();
15: ResultSet result=stmt.executeQuery("select * from gomitable;");


Stacktrace:
org.apache.jasper.servlet.JspServletWrapper.handleJspException(jasper5-compiler-5.5.15.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.15.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.15.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.15.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.15.jar.so)

原因

javax.servlet.ServletException: org.gjt.mm.mysql.jdbc.Driver
org.apache.jasper.runtime.PageContextImpl.doHandlePageException(jasper5-runtime-5.5.15.jar.so)
org.apache.jasper.runtime.PageContextImpl.handlePageException(jasper5-runtime-5.5.15.jar.so)
org.apache.jsp.gomitable1_jsp._jspService(org.apache.jsp.gomitable1_jsp:103)
org.apache.jasper.runtime.HttpJspBase.service(jasper5-runtime-5.5.15.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.15.jar.so)
org.apache.jasper.servlet.JspServletWrapper.service(jasper5-compiler-5.5.15.jar.so)
org.apache.jasper.servlet.JspServlet.serviceJspFile(jasper5-compiler-5.5.15.jar.so)
org.apache.jasper.servlet.JspServlet.service(jasper5-compiler-5.5.15.jar.so)
javax.servlet.http.HttpServlet.service(tomcat5-servlet-2.4-api-5.5.15.jar.so)

補足日時:2006/12/18 16:11
    • good
    • 0
この回答へのお礼

なお以下のJavaアプリは動作しています

import java.sql.*;
public class HelloWorldJDBCMySQL
{
public static void main(String[] args) throws Exception
{
Class.forName("com.mysql.jdbc.Driver");
String url="jdbc:mysql://localhost/database1?user=user1&password=password1&useUnicode=true&characterEncoding=UTF-8";
Connection con=DriverManager.getConnection(url);
Statement stmt=con.createStatement();
String sql="SELECT * FROM table1";
ResultSet rs=stmt.executeQuery(sql);
while(rs.next())
{
System.out.println(rs.getString(1)+" "+rs.getString(2));
}
stmt.close();
con.close();
}
}

お礼日時:2006/12/18 20:22

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

今、見られている記事はコレ!