Java 连接数据库时获取连接错误

Java 连接数据库时获取连接错误,java,mysql,database-connection,Java,Mysql,Database Connection,可能重复: 我正在使用Linux服务器。但当我在mysql服务器中建立连接时,我得到了这种类型的异常 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 '??????????

可能重复:

我正在使用Linux服务器。但当我在mysql服务器中建立连接时,我得到了这种类型的异常

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
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1027)
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3361)
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3295)
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1852)
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1975)
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2470)
at com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1669)
at com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3336)
at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1979)
at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:287)
at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
at java.sql.DriverManager.getConnection(libgcj.so.10)
at java.sql.DriverManager.getConnection(libgcj.so.10)
at testthread.ConnectionFactory.getConnection(ConnectionFactory.java:28)
at testthread.ConnectionFactory.main(ConnectionFactory.java:39)
com.mysql.jdbc.exceptions.MySQLSyntaxErrorException:您的SQL语法有错误;检查与MySQL服务器版本对应的手册,以了解第1行“??”附近要使用的正确语法
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1027)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:957)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3361)上
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3295)
位于com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1852)
位于com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:1975)
位于com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2470)
位于com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1669)
位于com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3336)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:1979)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:718)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:287)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:283)
位于java.sql.DriverManager.getConnection(libgcj.so.10)
位于java.sql.DriverManager.getConnection(libgcj.so.10)
在testthread.ConnectionFactory.getConnection(ConnectionFactory.java:28)
在testthread.ConnectionFactory.main(ConnectionFactory.java:39)

您的Java版本或字符集配置有问题,如中所述:

您是否尝试将url设置为
“jdbc:mysql/”+user+“@”+password+”:“+server+”/“+databasename

请发布代码,这是一个SQL语法错误,立即看起来像是替换绑定的失败-但是如果没有代码,很难说出所有这些问号,我们想知道您是否有字符串编码问题-否-错误不在连接阶段-它在提交的查询中。请向我们显示查询。这看起来很像。这是我使用服务器“”的查询;数据库名称=”;用户=”;密码=”;Class.forName(“com.mysql.jdbc.Driver”);url=“jdbc:mysql://”+server+“//”+databasename+“?useUnicode=true&characterEncoding=UTF-8”;con=DriverManager.getConnection(url、用户、密码);系统输出打印(con);;返回con;}catch(异常e){System.out.println(“*******************连接失败*************************”);e.printStackTrace();}我正在传递所有这些参数,但是。我不会发布这些东西。这段代码在本地运行良好,但当我在linux服务器上运行这段代码时,它显示了连接错误。