request synchronization error

Access Violation, некорректное выполнение запросов или вызовов API, ошибки утилит командной строки, в общем все, что вам мешает работать

Модераторы: kdv, dimitr

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Сообщение kdv » 23 мар 2007, 13:35

каким образом эксперт позволяет?
хелп к нему прочитай. открываешь два алиаса. в одном пишешь ....

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 23 мар 2007, 15:19

Dmitry74 писал(а):запрос делается из вьюхи а во вьюхе используется функция Рекурсивная
Т.е. все 3.5 Гб из одной таблицы ты получаешь через вьюху, которая строится по рекурсивной процедуре? Йо.
Ты не все данные из неё переливаешь, что ли?

Dmitry74
Сообщения: 70
Зарегистрирован: 31 июл 2006, 15:55

Сообщение Dmitry74 » 23 мар 2007, 15:26

WildSery писал(а):
Dmitry74 писал(а):запрос делается из вьюхи а во вьюхе используется функция Рекурсивная
Т.е. все 3.5 Гб из одной таблицы ты получаешь через вьюху, которая строится по рекурсивной процедуре? Йо.
Ты не все данные из неё переливаешь, что ли?
да процедура стоит в условии и отнимает часть данных

Одно не понятно, что FB память (виртуальную) так жрёт?

Ну группировал бы данные в файле

Dmitry74
Сообщения: 70
Зарегистрирован: 31 июл 2006, 15:55

Сообщение Dmitry74 » 23 мар 2007, 16:03

Можно ли ограничить FB в размере потребляемой памяти?

WildSery
Заслуженный разработчик
Сообщения: 1738
Зарегистрирован: 05 июн 2006, 16:19

Сообщение WildSery » 23 мар 2007, 16:21

Dmitry74 писал(а):Можно ли ограничить FB в размере потребляемой памяти?
А зачем?
По основному вопросу - не пробовал без вьюхи, в процедуре, без рекурсии, циклом?

Dmitry74
Сообщения: 70
Зарегистрирован: 31 июл 2006, 15:55

Сообщение Dmitry74 » 23 мар 2007, 16:48

Втом то и дело что прихотися через вьюху!
Ведь в ФБ
нельзя ведь так
SELECT * FROM (SELECT * FROM TABLE ) r

В других СУБД (SQLServer,Oracle,Access) можно а тут нельзя :(

Даже в Access можно :D

Вот и приходится через вьюху! А тут ошибка

Attid
Спец
Сообщения: 377
Зарегистрирован: 14 ноя 2006, 09:58

Сообщение Attid » 23 мар 2007, 17:05

как нельзя , можно =)

Код: Выделить всё

    select * from  (select country, currency from country) c
прекрастно работает на фб 2,0 =)

хотя у тебя наверно не правельно поставлен вопрос.
надо спрашивать не почему это не работате а как сделать то.
тобишь для чего ты вообще данные переливаешь к примеру.
может проще сделать копию и удалить лишнии ? или ты несколько таблиц сливаешь в одну ? . . .

Володя Т.
Сообщения: 16
Зарегистрирован: 02 авг 2005, 19:35

Сообщение Володя Т. » 04 апр 2007, 13:16

Вопрос к Dmity74:
установка fb1.5.4 помогла? Пока всё работает, правильно понимаю?
Если да, тогда тоже установлю.
У меня совсем маленькая база и запрос совсем простой 30 полей из одной таблицы в 15 записей такую же ошибку даёт в fb1.5.2 без всякой группировки. диалект 3 (Вы кажется забыли указать какой у Вас диалект)

dimitr
Разработчик Firebird
Сообщения: 888
Зарегистрирован: 26 окт 2004, 16:20

Сообщение dimitr » 05 апр 2007, 08:12

Володя Т. писал(а):У меня совсем маленькая база и запрос совсем простой 30 полей из одной таблицы в 15 записей такую же ошибку даёт в fb1.5.2 без всякой группировки.
выслать тестовый пример можешь?

Володя Т.
Сообщения: 16
Зарегистрирован: 02 авг 2005, 19:35

Сообщение Володя Т. » 06 апр 2007, 11:53

Извиняюсь за задержку. У себя я ошибку нашел. Там деление на ноль было в селекте.
select Field1/Field2
в Field2 ноль встретился.
Но, вместо обычной ругони numeric overflow or string trancation
получил sinchronization error.
Кстати о сообщении. А нельзя-ли сделать поконкретнее: если строка не влезла то одно сообщение, а если numeric - то другое. А то, когда процедура большая работает и выдает numeric overflow or string trancation - непонятно, что же именно искать :)

Ответить