我正在尝试使用 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 对此没有问题(但是当我放入一个坏主机并从 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 并且遇到了同样的问题。