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

Javaプログラムからmysqlにつなげようとして以下のコードを書いたのですが、getConnection部分でエラーになってしまいます。

Connection con = null;

try{
Class.forName("com.mysql.jdbc.Driver");
}catch(ClassNotFoundException e)
{
e.printStackTrace();
}
try{

con = DriverManager.getConnection("jdbc:mysql://127.0.0.1/DB名", user名, パスワード);
}catch(SQLException e){
e.printStackTrace();
}



環境は、
OS:ubuntu9.04
mysql:5.0.75-0ubuntu10.2(apt-getで入れたまま)
です。

具体的なエラーメッセージは、
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '????????????????' at line 1

となっていて、????????が気になります。
今まで普通に動いていたプログラムなのでコードの間違いでは無いと思うのですが、色々調べたものの解決しませんでした。

どなたか解決方が分かりましたら教えて下さい。

A 回答 (1件)

エラーからすると、SQLのクエリーがおかしいぞ、といっているようだ。

実行しているクエリーのテキストを再チェックする。near '????????????????'となっているのを見ると、どうも日本語や2バイト文字でクエリーが書いてあるとか、そういった問題のようにもみえるが……。どこか間違えて書き換えて保存してしまった、というようなことじゃないだろうか。

この回答への補足

回答いただきありがとうございます。
私も文字コードまわりが怪しい気がして、
eclipseでワークスペースの文字コードをutf-8に、
mysqlでcreate database Hoge default character set utf8;
としてvarcharのstrしかないtest表を作り、そこに'hoge'という文字をセットして
"select str from test"というクエリを投げてみたのですが、やはり同じエラーが出てしまいました。

そもそも試しとして'hoge'という1バイト文字を入れたのにこのエラーが出てしまうのは謎です。。

補足日時:2009/07/25 11:36
    • good
    • 0

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