Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
ВнизОшибка в BDE Найти похожие ветки
← →
neXt (2003-04-21 17:54) [0]Есть запрос:
select round(9.9987, 2)
Если исполнять его из TQuery, то вернётся "General SQL error". Приложение не работающее через BDE нормально возвращает результат.
Проблема в том что при округлении увеличивается разряд целой части числа. Т.е. если вместо 9.9987 округлять число 9.8987, то трабла не случается.
Ситуация лечится примерно тысячью способами, например, явным определением типа возвращаемого значения:
select convert(float, round(9.9987, 2))
Если кто знает как это дело решить средствами настроек BDE - подскажите.
Сервер не важен, я пробовал на MSSQL 6.5, MSSQL 2000 и SYBASE 12
Версия BDE: "BDE Update 5.1.1", пробовал с BDE от Delphi7 - та же хрень.
← →
neXt (2003-04-21 18:10) [1]Да, и ещё.
Если работать через ADO (TADOQuery) то проблемы нет.
← →
Anatoly Podgoretsky (2003-04-21 18:13) [2]Нет такой фукции в Local SQL
← →
Mike Kouzmine (2003-04-21 18:27) [3]А если поставить Local в false?
← →
neXt (2003-04-22 09:06) [4]> Нет такой фукции в Local SQL
И что из этого следует?
> А если поставить Local в false?
Пожалуйста, подробней, я не понял о чём идёт речь.
← →
Johnmen (2003-04-22 09:24) [5]Тебе надо, чтобы BDE напрямую транслировало запросы, без анализа и разбора. Для этого в свойствах алиаса (драйвера) надо указать SQLQRYMODE=Server.
← →
neXt (2003-04-22 09:44) [6]
> Тебе надо, чтобы BDE напрямую транслировало запросы, без
> анализа и разбора. Для этого в свойствах алиаса (драйвера)
> надо указать SQLQRYMODE=Server.
Так и стоит, не помогает, можете проверить.
Стоит и у алиаса и в Config->Drivers->Native - это вариант по умолчанию.
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2003.05.12;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.005 c