Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
ВнизMS Access Запрос с более 255 полями. Найти похожие ветки
← →
infom © (2006-08-14 11:35) [0]Уважаемые мастера у меня появилась следующая проблема:
Необходимо создать запрос который возвращает около 350 полей, а MS Access это непозволяет, пишет ошибку "определено слишком много полей".
Как это побороть и что мне делать вообще ?
← →
Sergey13 © (2006-08-14 11:38) [1]> Как это побороть и что мне делать вообще ?
Заняться проектированием приложения/базы, ИМХО. Это ненормально (обычно), что "Необходимо создать запрос который возвращает около 350 полей".
← →
tupoy (2006-08-14 11:39) [2]разбить на 2 запроса, а вообще - см [1]
← →
infom © (2006-08-14 11:43) [3]Структура БД и так проще некуда
Есть магазины ~800, есть товары около >150, по каждому товару хранится число и цена итого по одному магазину около 320 полей.
Главная проблема в том что это БД служит для анализа. т.е. аналитик одним запросам получает всю информацию по товарам по всем магазинам одним запросом, а потом анализирует свои различные показатели извлеченные из этого запроса
← →
Sergey13 © (2006-08-14 11:49) [4]> [3] infom © (14.08.06 11:43)
> Структура БД и так проще некуда
> Есть магазины ~800, есть товары около >150, по каждому товару
> хранится число и цена итого по одному магазину около 320
> полей.
И ты считаешь - это нормально?
> Главная проблема в том что это БД служит для анализа.
Главная проблема, что база спроектирована из рук вон плохо.
← →
Anatoly Podgoretsky © (2006-08-14 12:04) [5]infom © (14.08.06 11:43) [3]
Итого получается всего три поля.
Не подпускать к базе, пока голова не будет исправлена.
← →
Tomkat (2006-08-14 12:06) [6]
> по каждому товару хранится число и цена итого по одному
> магазину около 320 полей.
а перевернуть таблицу не пробовал ?
сделать справочник магазинов, товаров , прайсов в конце концов ....
См. Нормальные формы БД.
← →
infom © (2006-08-14 12:08) [7]2 Sergey13
база спроектирована под текущие нужды. клиент четко обещал что продуктов будет не более 100. Теперь он хочет ввести ещё 50 продуктов, причем программа мной уже полностью написана для ста и работает прекрасно, если добавить ещё 25 то она бедт также работать, но вот добавить ещё 50 уже не получится, каким образом это можно обойти ?
← →
sniknik © (2006-08-14 12:10) [8]из справки...
Определено слишком много полей. (Ошибка 3190)
Попытка выполнить операцию, которая включает более 255 полей. Уменьшите число полей и повторите операцию.
> клиент четко обещал что продуктов будет не более 100.
тз есть?
> Теперь он хочет ввести ещё 50 продуктов...
дополнительная переделка (перенаписание с 0), дополнительно оплачивается... повод есть. в чем проблема?
← →
Tomkat (2006-08-14 12:13) [9]
> продуктов будет не более 100
как это ?????? а вдруг расширение производства !
ну можно програмно столбцы добавлять , но предел-то есть ....
думаю , никак не обойти в той структуре .... ограничение кол-во полей есть в любой БД
надо менять .... пока не поздно ...
← →
infom © (2006-08-14 12:15) [10]2 All
Уважаемые, учить меня создавать хорошо структурированные базы данных не стоит, и как это делать я прекрасно умею.
Скажите мне вы если вас просят сделать такую вот БД с максимум 100 типами продукции, неужели вы будете все делать полностью реляционную модель и соблюдать НФ-ы тем самым уменьшив скорость работы как БД так и свою и нажив себе огромное количество проблем по ворочанию этой неповоротливой системы.
Клиент просто попросил увеличить количество полей ещё на 50, у меня встала конкретная проблема переделывать ли мне все и реализовывать другую структуру БД или же все удасться сделать намного мягче.
← →
stone © (2006-08-14 12:19) [11]
> Скажите мне вы если вас просят сделать такую вот БД с максимум
> 100 типами продукции, неужели вы будете все делать полностью
> реляционную модель и соблюдать НФ-ы
Обязательно
> тем самым уменьшив скорость работы как БД так и свою и нажив
> себе огромное количество проблем по ворочанию этой неповоротливой
> системы.
На твоем примере вижу обратное
> Клиент просто попросил увеличить количество полей ещё на
> 50, у меня встала конкретная проблема переделывать ли мне
> все и реализовывать другую структуру БД или же все удасться
> сделать намного мягче.
А завтра попросит еще штук 200...
← →
Anatoly Podgoretsky © (2006-08-14 12:20) [12]Конечно будем, а как же иначе, не городить же монстра.
Попросить оплатить переделку в размере 150%
← →
Desdechado © (2006-08-14 12:20) [13]> просят сделать такую вот БД с максимум 100 типами продукции, неужели
> вы будете все делать полностью реляционную модель и соблюдать НФ-ы
Только так и буду - по правилам.
> тем самым уменьшив скорость работы как БД так и свою
Плохому танцору...
> нажив себе огромное количество проблем по ворочанию этой неповоротливой системы.
Сколько делал, ни разу не нажил. А ты вот уже успел. Так кто прав?
← →
Anatoly Podgoretsky © (2006-08-14 12:21) [14]Но вообще то на месте клиента взыскал бы с автора и заставил сделать бесплатно и оплатить неустойку.
← →
infom © (2006-08-14 12:41) [15]Desdechado
Дорогу переходим только по пешеходному переходу и используем только лицензионные софт наверно...
Все по пунктам.
1. Во первых клиент и так платит мизер, поэтому все реализовывалось не отвелекая от основной работы
2. Все реализовывалось в "бесплатном" файловом MS Access из-за необходимости затраты минимум средств и возможностью быстрого переноса между компами.
3. Было выдвинуто требование реализовать в течении 2-х дней (причем рабочии дни).
Теперь давайте перестанем обвинять меня в криворукости и четко ответим, кто знает, можно ли каким либо образом обойти предел в 255 полей или увеличить его ?
← →
Dok (2006-08-14 12:46) [16]
> Теперь давайте перестанем обвинять меня в криворукости и
> четко ответим, кто знает, можно ли каким либо образом обойти
> предел в 255 полей или увеличить его ?
парень ты утверждаешь, что знаешь как - но делашь как сказал клиент? Понятно что клиент не знает о нормальных формах, но ты блин - программер! Ты должен фильтровать что говорит клиент и делать как нужно! Клиент завтра скажет мне пожалуйста сделай как в екселе: оодна строка, а каждом поле по несколько значений, ты что будешь все это реализовывать? Или ексель свой писать? Давно уже придумали все эти тербония приводит к 3-ей нормальной форме.
← →
infom © (2006-08-14 12:51) [17]2 Dok
Парень первая реализация программы отработала своё время прекрасно, теперь идет следующее идентичное исследование. Вопрос смогу ли я использовать старую программу для нового идентичного исследования ????
← →
Dok (2006-08-14 12:58) [18]
> Парень первая реализация программы отработала своё время
> прекрасно, теперь идет следующее идентичное исследование.
> Вопрос смогу ли я использовать старую программу для нового
> идентичного исследования ????
а что ошибка тебе ничего не сказала?
← →
tupoy (2006-08-14 12:59) [19]infom, что ты тут выяснить пытаешься, сказали уже много раз, что такая структура ни к чему хорошему не приведет. Как вообще, зная про теорию БД, можно сотворить такое чудо? Поэтому - переделай свои сотни полей в записи и будет тебе щастье. Или занимайся другим делом и не пудри людям мозги(с).
идентичное исследование, блин..
← →
Desdechado © (2006-08-14 13:12) [20]Все просто - не надо путать способ представления данных пользователю, способ хранения и способ внутренней обработки. Тогда и будет по правилам. И легко масштабируемо. И без тормозов. И легко дорабатываемо.
По твоему подходу не видно, что ты умеешь "создавать хорошо структурированные базы".
← →
Anatoly Podgoretsky © (2006-08-14 13:25) [21]Зато виден лохотрон.
← →
infom © (2006-08-14 15:29) [22]
> По твоему подходу не видно, что ты умеешь "создавать хорошо
> структурированные базы".
Времени создать хорошо структурированную базу не было. У меня было менее 20 часов на полностью работоспособную программу.
> Зато виден лохотрон.
лохотрон ? это вы про что, кого я здесь прокатил ?
← →
Dok (2006-08-14 15:40) [23]
> Времени создать хорошо структурированную базу не было. У
> меня было менее 20 часов на полностью работоспособную программу
Как видно ты с задачей не справился.
← →
Sergey13 © (2006-08-14 15:42) [24]> [22] infom © (14.08.06 15:29)
> У меня было менее 20 часов на полностью работоспособную
> программу.
А сейчас сколько? 10? 3?
Тебе показали направление движения. Чего ты еще хочешь?
← →
sniknik © (2006-08-14 15:45) [25]> Чего ты еще хочешь?
чуда!... как и многие тут. ;о))
← →
Anatoly Podgoretsky © (2006-08-14 16:27) [26]infom © (14.08.06 15:29) [22]
Заказчика, спихнул ему туфту.
← →
evvcom © (2006-08-14 16:42) [27]
> [9] Tomkat (14.08.06 12:13)
> надо менять .... пока не поздно ...
прокладку между стулом и компьютером :)
> [10] infom © (14.08.06 12:15)
> учить меня создавать хорошо структурированные базы данных
> не стоит, и как это делать я прекрасно умею.
Ой, как громко!
> и нажив себе огромное количество проблем
может у меня чего-то со зрением? У кого проблемы? У нас?
:LMD)
← →
infom © (2006-08-14 16:47) [28]2 Sergey13 [24]
То направлене движения которое вы мне показали увидит любой. А мне хочется не чуда, а по возможности другого решения, если такое есть, а вот есть такое или нет никто ответить не может, да и поиски не помешают.
sniknik © (14.08.06 15:45) [25]
Чуда не надо, нужна просто помощь, а не обвинение в непрофессионализме, об уровне которого вы судить точно не можете.
Anatoly Podgoretsky © (14.08.06 16:27) [26]
> Заказчика, спихнул ему туфту.
Я полностью довел программу, теперь ему необходимо продолжение, о котором раньше разговора небыло.
Ещё раз повторю, реализация программы по первому требованию полностью удовлетворяла ТЗ и остальные требования, заказчик попользовался программой и теперь хочет применить её в другом исследовании, что со мной не было обговорено.
← →
evvcom © (2006-08-14 16:51) [29]> [28] infom © (14.08.06 16:47)
> реализация программы по первому требованию полностью удовлетворяла
> ТЗ и остальные требования
Ты теперь это заказчику втюхивай, а не нам.
← →
Stanislav © (2006-08-14 16:52) [30]>То направлене движения которое вы мне показали увидит любой. А мне >хочется не чуда, а по возможности другого решения, если такое есть, а >вот есть такое или нет никто ответить не может, да и поиски не помешают.
А ты еще монитор задом разверни может это решение как раз поможет? :-)
← →
infom © (2006-08-14 16:54) [31]
> Ой, как громко!
Громко это когда с восклицательным знаком.
> может у меня чего-то со зрением? У кого проблемы? У нас?
Проблем никаких нет, есть необходимость выбора решения....
← →
Сергей М. © (2006-08-14 16:55) [32]
> infom © (14.08.06 16:47) [28]
Твое спасение на сей момент - это создание доп.таблицы (для хранения доп.полей) и соединение существующей и новой таблицы в отношениии "один-к-одному". Но путь твой, как уже здесь сказали, - тупиковый.
← →
ANB © (2006-08-14 16:56) [33]
> У меня было менее 20 часов на полностью работоспособную
> программу.
Полчаса - потолок нарисовать такую базу в нормализованном виде.
Не поздно и сейчас. Обойти ограничение на количество полей ни в одной СУБД не возможно (ну, в тех, которые я видел). Кстати, даже если ты нормализуешь базу, в запросе все равно нельзя будет выдавать более 255 полей, так что лучше сразу переделать и отображение.
Скажи клиенту, что его просьба вызывает технические трудности и надо все переделать / оплатить эту работу. Или пусть делает сам. :)
← →
Sergey13 © (2006-08-14 16:56) [34]> [28] infom © (14.08.06 16:47)
>а вот есть такое или нет никто ответить не может, да и поиски не помешают.
Конечно есть. И одно из них тебе подсказали в
> [2] tupoy (14.08.06 11:39)
Но это решение - заплата на здоровую дыру. А тебе советуют перешить этот тришкин кафтан. И правильно советуют.
> Я полностью довел программу, теперь ему необходимо продолжение, о котором раньше разговора небыло.
Это не совсем так. Ты фактически не заложил в структуру возможность дополнения информации - это грубая ошибка проектирования, про что тебе и говорят.
Не обижаться надо, а поблагодарить за конструктивную критику (пусть и высказанную в неконструктивной форме 8-) и бежать переделывать. 8-)
← →
infom © (2006-08-14 16:57) [35]Извините, но адекватностью этот форум совсем не страдает, скорее наоборот, благо есть пример для сравнения (форум sql.ru), где люди адекватно изложили свои мысли без тонны грязи...
Всем спасибо.
Решение мной уже найдено и за время дискуссии реализовано.
← →
Stanislav © (2006-08-14 16:58) [36]Сергей М. © (14.08.06 16:55) [32]
А ему это наверное в отчет нужно вытянуть, это их все равно нужно объединить в один запрос и вытащить все поля.
← →
infom © (2006-08-14 17:00) [37]Сергей М. © (14.08.06 16:55) [32]
ANB © (14.08.06 16:56) [33]
Персональное спасибо за человеческое отношение.
← →
ANB © (2006-08-14 17:00) [38]
> (форум sql.ru), где люди адекватно
Гы гы. А также огрести по полной в грубой форме :)
← →
Сергей М. © (2006-08-14 17:01) [39]
> Stanislav © (14.08.06 16:58) [36]
А это уже его личная драма.
Ладно хоть не про Excel речь идет - там для автора совсем труба) ... 256 колонок на листе и ни одной больше)
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2006.10.15;
Скачать: [xml.tar.bz2];
Память: 0.55 MB
Время: 0.04 c