Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

MS Access - макс.размер файла БД - сжать и добавить [D7]


UnDISCOvery ©   (2005-12-23 13:58:00) 

Макс.размер БД - 2 Гб.
1. Сжал - получил 500 мегов - начал добавлять строки, что делатькогда опять достигнет 2 Гб. Опять сжимать? А сожмется ли?
2. Если не сжимать, то до какого предела может расти?


Anatoly Podgoretsky   (2005-12-26 18:09:00) [1]

Asail   (26.12.05 15:25) [14]
Конечно не из пальца - это связано с Int32


sniknik   (2005-12-26 17:49:00) [2]

а по теме давно все сказано, обсуждать нечего, если только не неподтвержденное свидетельство автора, о том что спецификация врет. которое подтверждать не хочет, код выложить который каждый может проверить тоже... имхо обсуждение окончено (/или развод. тоже окончен).


Asail   (2005-12-26 17:27:00) [3]


> sniknik ©   (26.12.05 15:35) [17]



> в одном месте пропустил и оно (при переходе именно в этом
> месте) вдруг создает файл больше. что это?

Конечно ошибка! Ведь заявил, что не больше 100Mb, а не выполнил!
Значит, ошибка. Но, это мы отвлеклись от темы...


sniknik   (2005-12-26 15:35:00) [4]

> P.S. Что и есть
>> ошибка в самом движке
если ты написал программу и сказал всем "она работает с файлами не более 100мег!!!" (больше не считаеш нужным/хочеш ограничить чтобы переходили на новую версию) весде ставиш "если размер >= тогда raise"...
и в одном месте пропустил и оно (при переходе именно в этом месте) вдруг создает файл больше. что это? - "ошибка в самом движке". не имхо. заявленное но не выполненое = ошибка.


sniknik   (2005-12-26 15:30:00) [5]

Asail   (26.12.05 15:25) [14]
> а не потому-что пожалели больше
есть еще "политика партии" (/компании). и этой политике плевать на давно устаревшие ограничения файловой системы, понадобится переставят.

> Но это все всего-лишь мое предположение...
а ты читать умееш? или только писать?

эти предположения давным давно проверены и перепроверены. читай ветку сначала.


Asail   (2005-12-26 15:26:00) [6]

P.S. Что и есть
> ошибка в самом движке


Asail   (2005-12-26 15:25:00) [7]


> это ограничение по спецификации типа базы

Да. Но ограничения по спецификации тоже не из пальца высосаны.
MS 2Гб ограничили, видимо, исходя из ограничений файловой системы (а не
потому-что пожалели больше). А блокировку на случай, что файловая
система позволяет больше, чем 2Гб не поставили... Но это все всего-лишь
мое предположение...


sniknik   (2005-12-26 15:12:00) [8]

> А если NTFS - может и нет этого ограничения?
есть. зависит не от файловой системы. это ограничение по спецификациитипа базы. если обошли, то это либо спецификация была пересмотрена, либо ошибка в самом движке.


Anatoly Podgoretsky   (2005-12-26 14:50:00) [9]

UnDISCOvery   (26.12.05 11:02) [9]
Если такие объемы есть - значит не та база выбрана.


Asail   (2005-12-26 14:43:00) [10]

Вообще-то 2Гб это ограничение на размер файла в FAT (я так понимаю).
А если NTFS - может и нет этого ограничения?


sniknik   (2005-12-26 11:47:00) [11]

> Могу посоветовать набросать простой примерчик
могу посоветовать не давать больше подобных советов...

все что можно давно сделано и проверено без них, единственная предполагаемая возможность была в 7 или 8 SP (уже проверено), либо в твоем особо извратном коде который позволяет невозможное... и который оказался секретным... :(
сам файл базы интереса не представляет (могу приплюсовать туда любой обьем просто добавив левый файл командой copy +, но это не будет значить, что это в базе и создано jet-ом. у него ограничение на на базу в 2гб)

> Видимо оно потом и сжимается, уменьшая объем БД в разы. :)
не придумывай, что именно сжимается написано в > sniknik ©   (23.12.05 14:37) [2]


UnDISCOvery   (2005-12-26 11:02:00) [12]

AlexWlad ©   (23.12.05 19:29) [8]
Прошу мою сексуальную позицию не обсуждать :)
Если такие объемы есть - значит они нужны, значит так надо. И если я задаю вопрос, значит я пытаюсь вылечить тот самый геморрой. Была бы возможность - использовал птицу Феникса :)

sniknik ©   (23.12.05 17:23) [7]
пример прислать не могу, потому весь его смысл в файлах данных, а они жутко огромные. Могу посоветовать набросать простой примерчик, например как в одном из мои предыдущих постов, где есть 1 табличка с 2 полями. И сливать в нее данные в цикле, либо из файла, либо из памяти рандомайзом. В моем случае в таблице есть поле VARCHAR, в него пишется строка текста переменной длины. Видимо оно потом и сжимается, уменьшая объем БД в разы. :)


AlexWlad   (2005-12-23 19:29:00) [13]

Извращенец!!!
С такими объемами пользовать Аксесс - сознательно зарабатывать геморрой на все места.
Тебе написал АП - пользуй MSDE, а то и полноценный SQL.


sniknik   (2005-12-23 17:23:00) [14]

Anatoly Podgoretsky ©   (23.12.05 15:30) [5]
... может в 7 или 8 SP таким образом пофиксили баг с разрушением базы при подходе к границе? разрешив рабочие области за пределами ограничений, и теперь это ограничение именно и только для данных?

UnDISCOvery   (23.12.05 16:22) [6]
пришли свой пример делающий базу более 2гб. проверю у себя.


UnDISCOvery   (2005-12-23 16:22:00) [15]

ну что я могу сказать - не верь глазам своим!
истинная правад - 2.5 гига ... с БД никто не связан кроме утилиты по закачиванию в нее данных ... иными словами, с базой работает только один запрос SQL - INSERT INTO ... никаких открытых НД. Может в этом дело?


Anatoly Podgoretsky   (2005-12-23 15:30:00) [16]

Что то ты сказки рассказываешь по 2.5 гб, по спецификации максимальный размер 2 гб


UnDISCOvery   (2005-12-23 15:19:00) [17]

А как быть с такой ситуацией - есть данные в текстовом файле, нужно их занести в БД. Объем большой. При первичном заносе размер файла БД - около 2.5 Гигов, после сжатия 500 мегов.
Может что-то случится с БД,испортиться чтонить?
Или если с ней ничего не делать кроме как сжать\восттановить, то все ОК?


Anatoly Podgoretsky   (2005-12-23 15:10:00) [18]

UnDISCOvery   (23.12.05 13:58)  
Сжимать, или переходить на другую базу, Микрософт рекомендует MSDE.


sniknik   (2005-12-23 14:37:00) [19]

> 2. Если не сжимать, то до какого предела может расти?
до ~ 2 гб. немного меньше. 2 гига это ограничение на размер данных, а несжатый это еще + неудаленное и используемое повторно пространство, "дыры" в страницах, рабочие области...

по идее ты можеш получить переполнение и на 1-но гигабайтной базе, если к примеру будеш делать запрос на обьеденение который > оставшегося 1 гб. (если по какойто причине временная таблица полностью будет расположена(ппытается) в базе)


lost_delpher   (2005-12-23 14:10:00) [20]

можно смоделировать такую ситуацию в Акцессе и посмотреть что будет


Наверх

Титульная страница Поиск, карта сайта Написать письмо