Лучший отвечающий
Ограничение SQL 2005 на открытие 256 таблиц.

Вопрос
-
Господа, подскажите, как избежать ограничения SQL на открытие 256 таблиц?
В частности, 1С 8,1 по запросу начинает открывать много таблиц и получаем ошибку.
1С-ники ссылаются на ограничение в SQL.
zhogov28 января 2009 г. 5:51
Ответы
-
Ну уж если никак без большого кол-ва таблиц, то объединяйте их логически по N штук (<256) во Вьюшки и уже работайте с ними
- Помечено в качестве ответа Roman ZhukovModerator 19 февраля 2013 г. 8:15
29 января 2009 г. 9:00Отвечающий -
Формально, их ответ означает, что 1С несовместима с MSSQL Server.
Можно попробовать намекнуть им на то, что пожалеутесь в MS - ограничение на 256 таблиц в запросе документировано и претензии предъявлять на эту тему нельзя. Продукт 1С насколько я понимаю, сертифицирован (или что-то типа того) на совместимость с SQL Server и обязан учитывать данное ограниечение.
Неформально - во-первых вряд ли они это исправят. :)
Во-вторых, посмотрите, не слишком ли мудреная структура.
Воспользуйтесь профайлером, посмотрите, что за запрос приходит на сервер. (Событие BatchStarting, есть в трассе по умолчанию)
Попробуйте попросить помощи тут: http://www.sql.ru/forum/actualtopics.aspx?bid=63
все-таки в самой замороченной структуре для 256 таблиц нужно 256 полей Вряд ли Вам действительно нужно такое количество. ;)- Помечено в качестве ответа Roman ZhukovModerator 19 февраля 2013 г. 8:16
1 февраля 2009 г. 23:00Отвечающий
Все ответы
-
Это ограничение на один запрос и избежать его можно разумным проектированием приложения.
Думаю, 1С-никам лучше разобраться, зачем в запросе используется такое большое количество таблиц. Скорее всего, одна и та же там подключается по нескольку раз.
28 января 2009 г. 6:26Отвечающий -
Ну уж если никак без большого кол-ва таблиц, то объединяйте их логически по N штук (<256) во Вьюшки и уже работайте с ними
- Помечено в качестве ответа Roman ZhukovModerator 19 февраля 2013 г. 8:15
29 января 2009 г. 9:00Отвечающий -
Dmitriy Kostylev написал:
Это ограничение на один запрос и избежать его можно разумным проектированием приложения.
Думаю, 1С-никам лучше разобраться, зачем в запросе используется такое большое количество таблиц. Скорее всего, одна и та же там подключается по нескольку раз.
Трабл в том, что 1С говорит - делов не знаем - идите к Микрософту.
А тут наоборот....
Движок в 1С сделан так, что ты готовишь запрос на языке 1С и потом даешь ей команду его выполнять. Что проиходит далее пока не известно, т. к. обработка начинается с Запрос.Выполнить ().
zhogov1 февраля 2009 г. 20:22 -
Формально, их ответ означает, что 1С несовместима с MSSQL Server.
Можно попробовать намекнуть им на то, что пожалеутесь в MS - ограничение на 256 таблиц в запросе документировано и претензии предъявлять на эту тему нельзя. Продукт 1С насколько я понимаю, сертифицирован (или что-то типа того) на совместимость с SQL Server и обязан учитывать данное ограниечение.
Неформально - во-первых вряд ли они это исправят. :)
Во-вторых, посмотрите, не слишком ли мудреная структура.
Воспользуйтесь профайлером, посмотрите, что за запрос приходит на сервер. (Событие BatchStarting, есть в трассе по умолчанию)
Попробуйте попросить помощи тут: http://www.sql.ru/forum/actualtopics.aspx?bid=63
все-таки в самой замороченной структуре для 256 таблиц нужно 256 полей Вряд ли Вам действительно нужно такое количество. ;)- Помечено в качестве ответа Roman ZhukovModerator 19 февраля 2013 г. 8:16
1 февраля 2009 г. 23:00Отвечающий -
Это косяк проектировки приложения. Выйти на 256 таблиц запросом 1С можно, если не соблюдать банальные рекомендации вендора. Как правило, на претензии к превышению 256 таблиц 1С отвечает - "это ограничение SQL-сервера, столкнуться с ним - значит иметь плохо написанный запрос".12 февраля 2013 г. 6:34