Connector/J を使用して mysql データベースに接続しようとしていますが、どのコードを使用しても同じメッセージが表示されます。debianでmysqlコマンドを使用して手動で接続できます。
エラーは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
最新のコードは次のとおりです。
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
public class E{
public void connect(){
try{
Class.forName("com.mysql.jdbc.Driver").newInstance();
conn = DriverManager.getConnection(
"jdbc:mysql://192.168.1.3:3306/dbname?user=dbuser&password=dbpw");
}catch( Exception e){
System.out.printf("Something went wrong: "+e.getMessage());
}
}
getConnection 呼び出しで失敗します。NetBeans にはこれに関する問題がないため、print ステートメントを使用してこれを把握しました (ただし、不良ホストを入れて NetBeans から実行しても問題はありません)。
DataSource でもまったく同じ問題が発生します
import java.sql.*;
import javax.sql.*;
...
com.mysql.jdbc.jdbc2.optional.MysqlDataSource ds
= new com.mysql.jdbc.jdbc2.optional.MysqlDataSource();
ds.setServerName("192.168.1.3");
ds.setPortNumber(3306);
ds.setDatabaseName("dbname");
ds.setUser("dbuser");
ds.setPassword("dbpw");
conn = ds.getConnection();
...
間違ったパスワードを入力すると、アクセス拒否メッセージが表示されるため、何かが機能しています。
私は mysql-connector-java-5.1.22-bin.jar
5.1.21を使用していて、同じ問題を抱えていました。