Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при выборке из БД, ошибка: java.sql.SQLException: No databa 
V
    Опции темы
featurelles
  Дата 15.12.2012, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.12.2012

Репутация: нет
Всего: нет



Проблема с выборкой данных с БД.

Создаю статическое соединение с БД.
Код

(Этот код в класе    MyDB_tables  )
public static Connection conn; // соединение с БД

try {
            // Подгружаем драйвер
            String driverName = "com.mysql.jdbc.Driver"; 
            Class.forName(driverName);
        } catch (Exception e) {
            System.out.println("failed to load jdbc driver class");
            System.exit(0);
        }

try {
        String url = "jdbc:mysql://"+MyDB_serive_DB_conf.server_name+":3306/";
        conn = DriverManager.getConnection( url, MyDB_DB_conf.login , MyDB_DB_conf.password );
          
        /* Тут соединение установлено и можно обращаться к БД */
        /* conn остаётся открытым */



Далее в своём когде, пытаюсь сделать выборку из бд:
Код

    /**
     * get_user_id получает id пользователя из бд
     * @param jid_name имя пользователя
     * 
     * @return 0 если id не найден
     * @return идентификатор пользователя и бд
     */
    public static int get_user_id(String jid_name)
    {
      PreparedStatement ps;
      ResultSet rs = null;
      
        try {
            /* Производим выборку из БД */
            String query = form_get_user_id_query(jid_name);  // Cформировали такой запрос //   SELECT `id`  FROM `MyDB.users`  WHERE `jid` = "[email protected]";
            ps = MyDB_tables.conn.prepareStatement(query);
         
            /* Производим запрос */
            ps.executeQuery();  // ВОТ ТУТ ПРОИСХОДИТ СБОЙ!!!!
    
            return 0;
        } catch (SQLException ex) {
            Logger.getLogger(MyDB_db_querys.class.getName()).log(Level.SEVERE, null, ex);
            return 0;
        }
    };
  


Код исключения
Код

15.12.2012 4:45:19 MyDB_service.MyDB_db_querys get_user_id
SEVERE: null
java.sql.SQLException: No database selected

.... далее вывод какогото ещё исполняемого кода моей проги. и далее

        at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1074)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4096)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:4028)
    at com.mysql.jdbc.MysqlIO.sendCommand(MysqlIO.java:2490)
    at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2651)
    at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2734)
    at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:2155)
    at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2322)
    at MyDB_service.MyDB_db_querys.get_user_id(MyDB_db_querys.java:92)
    at MyDB_service.MyDB_db_querys.find_user_in_db(MyDB_db_querys.java:47)
    at MyDB_service.MyDB_db_querys.save_invoicing_in_db(MyDB_db_querys.java:161)
    at MyDB_service.MyDB_show_user_wmid_state.work(MyDB_show_user_wmid_state.java:77)
    at MyDB_service.MyDB_dialog_call.MyDB_dialog_call(MyDB_dialog_call.java:44)
    at MyDB_service.MyDB_process_message.MyDB_process_message(MyDB_process_message.java:52)
    at jabber_service.Jabber_service$1.processPacket(Jabber_service.java:69)
    at org.jivesoftware.smack.Connection$ListenerWrapper.notifyListener(Connection.java:813)
    at org.jivesoftware.smack.PacketReader$ListenerNotification.run(PacketReader.java:453)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
    at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
    at java.util.concurrent.FutureTask.run(FutureTask.java:166)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
    at java.lang.Thread.run(Thread.java:679)


    
Как мне правильно произвести выборку из БД ?

PM MAIL   Вверх
Dummy
Дата 15.12.2012, 13:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 263
Регистрация: 21.5.2007

Репутация: 9
Всего: 19



У вас URL подключения не содержит имени базы данных, только хост и порт:
Код

String url = "jdbc:mysql://"+MyDB_serive_DB_conf.server_name+":3306/";

добавьте к URL имя вашей базы, как-нибудь так:
Код

// Присвойте dbName правильное значение
String dbName = "featurelles_DB";
String url = "jdbc:mysql://"+MyDB_serive_DB_conf.server_name+":3306/" + dbName;

PM MAIL   Вверх
featurelles
  Дата 15.12.2012, 14:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 4
Регистрация: 15.12.2012

Репутация: нет
Всего: нет



Огромное СПАСИБО!
Помогло!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
javastic
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux, javastic.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0544 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.