powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по ограничениям Билдера
13 сообщений из 13, страница 1 из 1
Вопрос по ограничениям Билдера
    #32831702
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для некоторого преобразования "БД Oracle -> текстовый файл" я использую компонент TStringList. Пока (тестовая прогонка ~ на 10% реальных данных) все работает.
Возникает вопрос: А что будет при росте объема текстовой информации? Что будет, если, например, число строк в StringList'е превысит 10 тыс, 100 тыс, 1 млн ? И есть ли вообще какие-либо ограничения для этого и других компонентов (типа как для Экселя: не более 64К (65535) строк на одном листе)? К сожалению, в справке Билдера ничего не написано по этому поводу... Может знает кто и поможет "открыть глаза" на "страшную тайну"?
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32831739
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
Рекомендую использовать не VCL, а STL. Конкретно либо std::stringstream, либо один из стандартных контейнеров, например, std::list. Там все стандартно и их поведение описано. Более того, в них ты можешь управлять аллокацией, т.е. например написать аллокатор для винды, чтобы распологать всеми 2 гигами, а не только тем что есть в куче.

используя контенйры, например, ты сможешь обезопасить свое приложение от того, что если вдруг тебе потребуется сохранять не строки, а более сложные типы.
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832045
maxtar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
авторДля некоторого преобразования "БД Oracle -> текстовый файл"
Если это выгрузка текста в файл то не лучше ли использовать PL/SQL а билдером файл закачивать?
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832243
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
maxtar авторДля некоторого преобразования "БД Oracle -> текстовый файл"
Если это выгрузка текста в файл то не лучше ли использовать PL/SQL а билдером файл закачивать?
Может быть и лучше. Но: Пока я еще этому не научился (до этого работал с локальными БД и, в основном, на Фоксе), а сделать это надо "вчера".

Кроме того, вопрос представляет для меня еще и теоретический интерес: насколько я могу полагаться на "автоматику" (VCL) и где и когда я словлю баг...
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832268
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
А почему тебе надо выводить именно в этот stringlist ?
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832315
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dwlА почему тебе надо выводить именно в этот stringlist ?
Все очень просто:
Лень много программировать . Кроме того, "тяжелое прошлое" (Фоксового программера) дает о себе знать.
При преобразовании "Oracle->txt" мне надо вычислять подитоги (при этом подключать локальные dbf'ы), вести подробный лог и много еще чего... В общем, приходится обрабатывать каждую запись выборки...
А в StringList'e так все до боли знакомо и понятно (и, что немаловажно, быстро выполняются операции "сохранить файл", "загрузить файл", поиск и т.д.)
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832464
dwl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
dwl
Гость
Ужас! 8-)
1) итоги можно сделать в самом запросе к Ораклу. Почему нельзя это использовать?
2) зачем хранить все дело в промежуточной структуре данных, когда можно сразу выводить в файл и сразу считать итоги?
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832473
_Sania
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Явных ограничений у TStringList не встречал, но на действительно больших объемах он должен тормозить - начинается своп и т.д. Без проблем работал с данными до 10 Мб.

Проще работать блоками - задаешь для себя какое-либо ограничение по строкам (например 100000) и сбрасываешь данные в файловый поток (ну его конечно надо создать заранее).

StringList->SaveToStream(FileStream);
StringList->Clear();

а для FileStream windows сам определит когда его кэшировать, а когда сбрасывать на диск.
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32832541
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
dwlУжас! 8-)
1) итоги можно сделать в самом запросе к Ораклу. Почему нельзя это использовать?Потому что надо выдать информацию: сколько реально записей (строк) выдано в файл, а не просто sum()...

dwl
2) зачем хранить все дело в промежуточной структуре данных, когда можно сразу выводить в файл и сразу считать итоги? Делал я и это (правда в другой программе)... Но говорю же: лень программировать, решил облегчить себе жизнь

ТО ALL:
Не придирайтесь к моей реализации конвертации "Oracle->txt" (сколько людей - столько и мнений), а отвечайте по существу вопроса: какие ограничения, количественные показатели ограничения и т.д.
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32834276
Guest?
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
согласен с _Sania .
у меня до сих пор тоже проблем с этим не было ..
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32837553
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.... "тяжелое прошлое" (Фоксового программера) дает о себе знать. ...

Странно, что это "тяжелое прошлое" не натолкнуло на мысль воспользоваться тем же Visual FoxPro для решения задачи.
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32838063
Станислав C.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Reznichenko Y.V. Станислав C.... "тяжелое прошлое" (Фоксового программера) дает о себе знать. ...

Странно, что это "тяжелое прошлое" не натолкнуло на мысль воспользоваться тем же Visual FoxPro для решения задачи.
Это уже -OFF-, но на то есть две причины:
- хочу сам уйти от Фокса (надоело уже за 5 лет, хочется чего-то "светлого");
- корпоративный стандарт (т.е. ВСЕ пишут на связке С++ (VC++ или C++Builder) - Oracle для обеспечения преемственности в случае непредвиденных обстоятельств, как то увольнение автора программы, переход его в другой отдел, болезнь и т.д.)
...
Рейтинг: 0 / 0
Вопрос по ограничениям Билдера
    #32838467
Reznichenko Y.V.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Станислав C.Это уже -OFF-, но на то есть две причины:
- хочу сам уйти от Фокса (надоело уже за 5 лет, хочется чего-то "светлого");
- корпоративный стандарт (т.е. ВСЕ пишут на связке С++ (VC++ или C++Builder) - Oracle для обеспечения преемственности в случае непредвиденных обстоятельств, как то увольнение автора программы, переход его в другой отдел, болезнь и т.д.)

Что тут скажешь ? Добро пожаловать из "тяжелого прошлого" в "туманное будущее"!
...
Рейтинг: 0 / 0
13 сообщений из 13, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Вопрос по ограничениям Билдера
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]