Разочарование JDBC MySQL Exception

Поэтому я настраиваю свой новый сервер после того, как мой старый из-за сбоя сервера умер. Единственный валун, который я ударил, - это установка JDBC. Мой сервер запускает Java-программу, которая изначально работала со старым сервером. Я остановлюсь на погоне и покажу вам, в чем проблема... Вот трассировка стека, когда я пытаюсь подключиться, используя 127.0.0.1, а также localhost:

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
    com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1049)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3593)
    com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3525)
    com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:1986)
    com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2140)
    com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2620)
    com.mysql.jdbc.ConnectionImpl.configureClientCharacterSet(ConnectionImpl.java:1890)
    com.mysql.jdbc.ConnectionImpl.initializePropsFromServer(ConnectionImpl.java:3523)
    com.mysql.jdbc.ConnectionImpl.connectOneTryOnly(ConnectionImpl.java:2386)

Довольно расплывчато, не правда ли?

Это код, который я использую для подключения к серверу (который отлично работал на моем старом сервере):

Class.forName("com.mysql.jdbc.Driver").newInstance();
Connection con = java.sql.DriverManager.getConnection("jdbc:mysql://localhost:3306/schema?user=user_name&password=pass_word");

Вот некоторая информация о моем сервере: на сервере запущен Debian Squeeze, MySQL настроен нормально, потому что phpMyAdmin работает отлично, Java версия 1.5.0, JDBC Connector/J версия 5.1.14, CLASSPATH установлен в правильный каталог, порты установлены правильно направлено 3306.

Мои последние курорты - разрешения, которые я не совсем уверен, как исправить для этого критерия. Итак, кто, по-вашему, правильно подключил Java-сервер к JDBC, что мне не хватает? Как я уже говорил, этот Java-сервер работал на моем старом сервере (но на нем работал Debian Lenny). Спасибо!

1 ответ

Как исключение показывает, что ошибка в синтаксисе SQL, возможно, в URL JDBC, если вы прочитаете документацию, то увидите, что, если порт не указан, двоеточие также может быть пропущено, попробуйте следующее:

.getConnection("jdbc:mysql://localhost/schema?user=user_name&password=pass_word")

Надеюсь, что это работает.

Другие вопросы по тегам