• 締切済み

MySQLを利用したサーブレットの実行時のエラーについて。

ローカルマシンにMySQLをインストールし、サーブレットでアクセスするプログラムを作っています。MySQLの動作は確認済みです。 MySQLのPATHとJDBCドライバのCLATHPASSの設定もしました。サーブレットのソースはWEB上のサンプルをそのまま利用しています。 DBの設定部分のソース↓ Class.forName("org.gjt.mm.mysql.Driver"); Connection con = DriverManager.getConnection"jdbc:mysql:///hellodb"); PATH↓ C:\Program Files\mysql\bin CLATHPASS↓ C:\j2sdk1.4.0\jre\lib\ext\mysql-connector-java-3.0.2-beta-bin.jar エラー内容は以下の通りです。 --------------------------------------------------------------------- java.sql.SQLException: Column 'NO' not found. at com.mysql.jdbc.ResultSet.findColumn(ResultSet.java:2862) at com.mysql.jdbc.ResultSet.getInt(ResultSet.java:1338) at HelloWorldJDBCMySQL.main(HelloWorldJDBCMySQL.java:24) --------------------------------------------------------------------- DBへアクセスできていないと思うのですが、自分で調べた限りでは前述の設定以外の方法が調べきれませんでした。 お力添えお願いいたします。

みんなの回答

  • yuji
  • ベストアンサー率37% (64/169)
回答No.6

rs.getInt("NO")の代わりに rs.getInt(1)ではどうなりますか?

回答No.5

間違った jdbc:mysql:///localhost/hellodb じゃなくて jdbc:mysql://localhost/hellodb ね /が一個多かった ま、わかってもらえると思うけど一応

回答No.4

ちょっとおかしいなと思ったことがあるんですけど jdbc:mysql:///hellodb この部分ですけど jdbc:mysql:///localhost/hellodb じゃないですか? localhostの時は省略出来るとかありましたっけ? ただもしそれだとしてもそれだとConnectionが成功してるっぽい動作が謎だから直接の原因では無いと思いますけど 久しく直接DB接続なんて書いてないので自身無いんですけどね

  • hidebu-
  • ベストアンサー率53% (45/84)
回答No.3

HelloWorldJDBCMySQL.javaの24行目周辺のソースを教えてください。

takana_t
質問者

補足

返信ありがとうございます。 ソースは下記になります。 --------------------------------------------------------------------- while(rs.next()){ 24行目→ int no = rs.getInt("NO"); String lang = rs.getString("LANGUAGE"); String msg = rs.getString("MESSAGE"); ---------------------------------------------------------------------

  • yuji
  • ベストアンサー率37% (64/169)
回答No.2

MySQLって、ODBCなどで接続するツールを使ってテーブルの中を見ると 列名が小文字で表示されていたように思います。 Javaのソースで "NO" のカラムを取得しようとしているのなら、 "no" に変更してみてはどうでしょうか?

takana_t
質問者

補足

返信ありがとうございます。 "NO"を"no"に変えてみましたが、結果は同じでした。

  • yakumon
  • ベストアンサー率35% (22/62)
回答No.1

おそらくDBにはアクセスできているのではないでしょうか? 投げているSQLでNOというカラムを参照しようとしているのにテーブルにNOというカラムがないので java.sql.SQLException: Column 'NO' not found. になっているのではないかと思います。 接続できない場合はもっと違うエラーになるはずです。

takana_t
質問者

補足

返信ありがとうございます。 ご指摘の通り、テーブル作成時に項目をつくり忘れたかと思い、確認してみたところ、以下の通り項目は存在しました。 mysql> select no from HELLO_WORLD_TABLE; +----+ | no | +----+ | 1 | | 2 | +----+ そこで、ソースの方がDBへアクセスできてないと思ったのです。 ちなみに、エラー箇所を潰しても、次の項目でエラーとなってしまいます。

関連するQ&A