Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
ВнизПроблема выполнения сложного запроса в IBase Найти похожие ветки
← →
Maloy (2002-05-06 12:00) [0]Всем привет.
Сталкнулся с такой проблемой:
при выполнении сложного запроса возникает ошибка "Capability not supported" (пер. Совместимость не поддерживается)
Запрос выполняется при помощи TQuery.
Причем если выполнять запрос IBase Windows ISQL то запрос выполняется.
Для примера запрос следущего содержания:
Select * from Table1 I
where
I.ID IN (Select K.ID from Table2 K where K.TITLE LIKE "%_строка_%")
В чем может быть проблема?
← →
Alexandr (2002-05-06 12:05) [1]1) в параметрах алиаса SQL Query Mode как установлено?
2) Там же LangDriver какой?
3) А запрос вообще-то неоптимальный
← →
Johnmen (2002-05-06 12:07) [2]Я бы написал так :
Select * from Table1 I
JOIN Table2 K ON I.ID=K.ID
where K.TITLE LIKE "%_строка_%"
← →
Maloy (2002-05-06 12:09) [3]1. Вообще никак, пустое поле
2. Pdox ANSI Cyrillic
3. НУ отчего-же, очень даже опптимальный, и он примерный, ошибка возникает независимо от такого какое выражение во вложенном запросе LIKE или сравнение, все одно - ошибка
← →
Alexandr (2002-05-06 12:13) [4]ты бы написал запрос как тебе Johnmen советует.
Работал бы он в десятки раз быстрее.
А вообще-то это ошибка BDE.
Так-что смотри какая у тебя версия BDE, какая версия Interbase.
А лучше используй компоненты с закладки Interbase, или даже FIBPlus
А чего там в Tquery у тебя еще включено?
← →
Johnmen (2002-05-06 12:14) [5]Неоптимальный !
← →
Maloy (2002-05-06 12:16) [6]Не ребята, на самом деле запрос такой:
Select * from Table1 I
where
I.ID_2 IN (Select K.ID from Table1 K where K.TITLE LIKE "%_строка_%")
А таблица следующая:
-------------------------
ID | ID_2 | TITLE |
-------------------------\
т.е. некоторые поля в таблице связанны с другими в этой же таблице, и я ищу их по названию TITLE
← →
Alexandr (2002-05-06 12:18) [7]ну так, какая разница - объедини таблицу саму с собой.
← →
Maloy (2002-05-06 12:20) [8]BDE v.5.01;
IB 5;
← →
Alexandr (2002-05-06 12:27) [9]и все-таки.
1) не намудрил-ли ты чего в Tquery, о чем умалчиваешь?
2) Тебе BDE сильно надо?
3) Запрос переделай.
← →
Johnmen (2002-05-06 12:32) [10]Select * from Table1
where (ID=ID_2) and (TITLE LIKE "%_строка_%")
← →
Reindeer Moss Eater (2002-05-06 12:34) [11]Убери RequestLive
← →
Maloy (2002-05-06 12:41) [12]Убери RequestLive не могу, нужно очень
BDE нужен
Select * from Table1
where (ID=ID_2) and (TITLE LIKE "%_строка_%")
не сработает однозначно:
-------------------------
ID | ID_2 | TITLE |
-------------------------\
1 0 тра-та-та
2 1 тра-та-та2
3 1 тра-та-та3
и где здесь ID=ID2?
← →
Johnmen (2002-05-06 12:51) [13]>Maloy (06.05.02 12:41) : Согласен !
1. Чем не устраивает JOIN ?
2. >>Убери RequestLive не могу<<<
Тогда уж надо кешировать и иметь UpdateSQL...
← →
Desdechado (2002-05-06 14:32) [14]1. обнови с борланда БДЕ до 5.11
2. SELECT T1.* FROM Table1 T1, Table1 T2 WHERE T1.ID=T2.ID2 and T2.title=...
3. в алиасе поставь лучше SQL query mode=SERVER
← →
Reindeer Moss Eater (2002-05-06 14:39) [15]... И получишь всё ту же "Capability not supported"
← →
Desdechado (2002-05-06 14:46) [16]2 Reindeer Moss Eater (06.05.02 14:39)
Чего вдруг?
← →
Reindeer Moss Eater (2002-05-06 14:49) [17]>Desdechado
У меня БДЕ 5.2, но и оно не поддерживает RequestLive для запроса что привел автор
← →
Alexandr (2002-05-06 14:52) [18]да. RequestLive не будет. Это точно...
← →
Desdechado (2002-05-06 14:54) [19]1. результат не всегда будет Live, даже если поставить RequestLive.
2. RequestLive лучше грамотно заменить на CachedUpdates + UpdateSQL. Гораздо гибче и меньше мороки.
← →
Desdechado (2002-05-06 14:57) [20]2 Reindeer Moss Eater (06.05.02 14:49)
> У меня БДЕ 5.2
Когда его выпустили?
← →
Anatoly Podgoretsky (2002-05-06 15:01) [21]Reindeer Moss Eater (06.05.02 14:49)
Какая дата/время у файла idapi32.dll
← →
Reindeer Moss Eater (2002-05-06 15:01) [22]>Desdechado
Если запросить RequestLive (как у автора) то BDE скажет то что оно сказало.
BDE 5.2 выпустили вместе с D6
← →
Reindeer Moss Eater (2002-05-06 15:08) [23]>Anatoly Podgoretsky ©
idapi32.dll Версия 5.2.0.2 Дата 10.05.2001
← →
Anatoly Podgoretsky (2002-05-06 15:16) [24]Reindeer Moss Eater (06.05.02 15:08)
Спасибо, а то у меня было подозрение, что они под 5.2 поставляют 5.1
Собаки апгрейд прячут до сих пор
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2002.05.30;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.007 c