Как сделать, чтобы ошибка Got error 134 from storage engine не выводилась?

SQL во всех проявлениях - от ANSI-92 до TSQL.

Модераторы: Yurich, Absurd

Ответить
VorteP
Сообщения: 6
Зарегистрирован: 27 янв 2010, 11:58

27 янв 2010, 12:03

С этой проблемкой тружусь уже неделю((((
В трех словах...есть два чекбокса, при нажатии на экран выводится 5 соединенных точек-объектов, значения кот берутся из БД.
У объекта №1 есть значения в БД. И при его активации все норм выводит и без ошибок. А второй, только созданный. При его активации постоянно выскакивает такая ошибка

Got error 134 from storage engine
org.hibernate.exception.GenericJDBCException: could not execute query

...и еще длинный список

Query qr;
dbsession = HibernateUtil.getSession();
dbsession.beginTransaction();
List <Gpsdata> ldata;
String sql;
if (dfrom == null)
{
sql = "from kodexdbtables.Gpsdata as g where g.id.did= ? and g.satellite!=0 order by g.dataTimeChange desc";
qr = dbsession.createQuery(sql);
qr.setInteger(0, obj.getDid());
qr.setMaxResults(20);
qr.setReadOnly(true);
ldata = qr.list(); // ругается на эту строку org.hibernate.exception.GenericJDBCException: could not execute query
}
if (ldata == null) {
result = -1;
}
else{
data.addAll(ldata);
result = 1;
}

Вопрос в том, как сделать, чтобы эта ошибка не выводилась.
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

28 янв 2010, 09:02

Я с Парадоксом не работал, но у меня такое парадоксальное чувство, что вы в запросе забыли select. Судя по тексту ошибки - у вас некорректный запрос.
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
VorteP
Сообщения: 6
Зарегистрирован: 27 янв 2010, 11:58

28 янв 2010, 11:24

Хыиуду писал(а):Я с Парадоксом не работал, но у меня такое парадоксальное чувство, что вы в запросе забыли select. Судя по тексту ошибки - у вас некорректный запрос.

это hibernate...и язык hql..скорее всего, но как эту ошибку найти...
Хыиуду
Сообщения: 2388
Зарегистрирован: 06 мар 2005, 21:03
Откуда: Москва
Контактная информация:

29 янв 2010, 09:13

sql = "from kodexdbtables.Gpsdata as g where g.id.did= ? and g.satellite!=0 order by g.dataTimeChange desc";
Ошибка в этой строке. Где - вам виднее, я с HQL не знаком. Может, он критичен к регистру, а вы где-то вместо заглавной поставили строчную букву, или наоборот?
Искусство программирования - заставить компьютер делать все то, что вам делать лень.
Для "спасибо" есть кнопка "Спасибо" в виде звездочки внизу под ником автора поста.
Аватара пользователя
Игорь Акопян
Сообщения: 1419
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

29 янв 2010, 12:35

по логике Хыиуду прав.
переменная названа SQL а вот запрос там не корректный. Исправьте на
sql = "select * from kodexdbtables.Gpsdata as g where g.id.did= ? and g.satellite!=0 order by g.dataTimeChange desc";
Изображение
VorteP
Сообщения: 6
Зарегистрирован: 27 янв 2010, 11:58

29 янв 2010, 19:17

проблема решена! ))

таки да, таблица крашнутая была. сделал REPAIR TABLE и алес гут

Всем спасибо! ;)
Ответить