2013-12-10 4 views
0

Я пытаюсь сделать проект объяснила enter link description here (код в конце страницы), но когда я бег поднимается ошибка:Ошибки при подключении MySQL с Java с Connector/J на ​​убунте

Exception in thread "main" com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: SELECT command denied to user 'sqluser'@'localhost' for table 'COMMENTS' 
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 
at com.mysql.jdbc.Util.handleNewInstance(Util.java:411) 
at com.mysql.jdbc.Util.getInstance(Util.java:386) 
at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1054) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4237) 
at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4169) 
at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2617) 
at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2778) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2819) 
at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2768) 
at com.mysql.jdbc.StatementImpl.executeQuery(StatementImpl.java:1612) 
at de.vogella.mysql.first.MySQLAccess.readDataBase(MySQLAccess.java:30) 
at de.vogella.mysql.first.Main.main(Main.java:7) 

Я думаю, что ошибка может быть связана с CLASSPATH, но я не уверен. Что может быть причиной этой ошибки и как я могу ее решить?

+0

Сообщение об ошибке говорит вам * точно *, что проблема есть, и она не имеет ничего общего с вашим кодом. Вам нужно исправить разрешения для этой таблицы в db. –

+0

http://dev.mysql.com/doc/refman/5.5/ru/privileges-provided.html –

ответ

0

Основная причина этой ошибки достаточно ясно объяснил:

SELECT command denied to user 'sqluser'@'localhost' for table 'COMMENTS' 

Просто убедитесь, чтобы создать пользователя MySQL с именем sqluser и предоставить ему соответствующие права на 'COMMENTS' таблице.

Быстрый и грязный: GRANT ALL PRIVILEGES ON your_db_name.* TO 'sqluser'@localhost IDENTIFIED BY 'sqluserpw';

+0

Я дал все права этому пользователю, но теперь ошибка говорит «Исключение в потоке» main «com». mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: таблица «FEEDBACK.COMMENTS» не существует », и это было непредсказуемо, потому что 1-таблица существует (проверена на phpmyadmin), а 2- она ​​должна существовать, потому что я следил за всем шагом в гид. Эта проблема связана с первой? – giacomotb

+0

Нет, это не связано. В PHPMyAdmin выполните эту команду: 'show databases;' и убедитесь, что у вас есть база данных FEEDBACK, и если да, используйте FEEDBACK; show tables; 'и убедитесь, что таблица« КОММЕНТАРИИ »указана – laruiss

+0

да, они есть. Часть curios состоит в том, что сначала программа запускает выходные данные из этой базы данных, а затем вызывает ошибку. Здесь часть выхода: 'Пользователь: lars Веб-сайт: http://www.vogella.com Резюме: Summary Дата: 2009-09-14 Комментарий: Мой первый комментарий Исключение в теме" main "com. mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: таблица «FEEDBACK.COMMENTS» не существует' – giacomotb