Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Вниз

Не могу произвести выгрузку в Excel большое количество записей.   Найти похожие ветки 

 
galexis ©   (2004-12-16 09:24) [0]

Выгружаю данные из базы в файл Excel. Небольшое количество записей выгружается нормально (до 600 записей). Большее - пишет не хватает памяти. Иногда пишет не может записать файл ib_sort в winnt\temp. Заподозрил, что мало отводится места под сортировку. Изменил параметр в ibconfig. Сделал 1000000000 (~1Гб) tmpdirectory. Теперь явно пишет, что нет места для файлов ib_sort. Что не так?


 
Johnmen ©   (2004-12-16 10:05) [1]

http://sql.ru/forum/actualthread.aspx?tid=47839


 
galexis ©   (2004-12-16 10:33) [2]


> Johnmen ©

Прочитал, спасибо. Ошибка действительно такая была до изменения ibconfig. Но ответа так и не нашел. Свободного места на диске 15 Гб. Пробовал и два места указывать. Та же беда. Может tmp_directory ограничен максимальным размером и не может быть 1Гб?


 
sniknik ©   (2004-12-16 10:39) [3]

а ты что весь гиг в один экселевский файл заливаеш? а ограничение на запись не более 65535 строк в листе не нарушаеш?
или это не тот "файл Excel" что из мсофиса?


 
Danilka ©   (2004-12-16 10:40) [4]

[3] sniknik ©   (16.12.04 10:39)
Дык, он говорит - больше 600 записей. Что-то тут не так. Ну не может, по моему скромному мнению, 601 запись весить гиг. :))


 
Соловьев ©   (2004-12-16 10:42) [5]

Интересно увидеть код выгрузки
И еще, у IBExpert можно данные выкинуть в Ексель, попробуй - выкинет?


 
Александр Иванов ©   (2004-12-16 10:43) [6]

Danilka ©   (16.12.04 10:40) [4]

256*600*256 = 37.5 Gb
:).


 
galexis ©   (2004-12-16 10:47) [7]


> sniknik ©

На самом деле Excel тут  не причем, до него еще не доходит дело. Строк там должно выгрузиться около 5тыс.


> Danilka ©

Гиг отведен для сортировки на сервере. А 600 записей весят около 500Кб. Выгрузка построчно идет. Строка - запись. после выгрузки 600 записей выскакивает ошибка - не хватает места для сортировки.


 
galexis ©   (2004-12-16 10:49) [8]


> Александр Иванов ©


> 256*600*256 = 37.5 Gb

256 это что?


 
sniknik ©   (2004-12-16 10:57) [9]

>> 256*600*256 = 37.5 Gb

> 256 это что?
похоже 600 это записей,
первая(или вторая) 256 это количество допустимых полей в записи,
и вторая (или первая) 256 это наивное представление, что ексель не позволяет мемо полей а только короткие строки. ;о)) (максимальные значения)


 
Johnmen ©   (2004-12-16 10:59) [10]

>galexis ©

Покажи запрос. И какой компонент-держатель НД используется.


 
galexis ©   (2004-12-16 11:09) [11]


> Johnmen

Компонент IBQuery. Запрос очень большой, из 42 таблиц. Возвращает около 40 тыс записей. По данным из этих записей строится другой, еще более больший запрос. Он возвращает одну запись и эта запись выгружается в excel. В итоге должно выгрузится в excel около 5 тыс записей.


 
galexis ©   (2004-12-16 11:12) [12]

Увеличил tmp_directory на одном диске до 2Гб, на втором до 1Гб. Создаются файлы ib_sort до 1,7Гб. Это ORDER BY так работает?


 
sniknik ©   (2004-12-16 11:18) [13]

> Запрос очень большой, из 42 таблиц.
"приджойненные" друг к другу? тогда да может быть, при джойне строится декартово произведение таблиц (каждое на каждое), что в результате от 42 таблиц получится... подумать страшно ;о)).


 
sniknik ©   (2004-12-16 11:20) [14]

http://cs.ifmo.ru/education/documentation/sql_kg/3-2-1.shtml


 
Александр Иванов ©   (2004-12-16 11:21) [15]

sniknik ©   (16.12.04 10:57) [9]

Это не наивное представление. Это просто доказательство, что даже для короткой строки мы получим довольно большие объемы информации.


 
Johnmen ©   (2004-12-16 11:23) [16]

>galexis ©  

Видимо, сортируемые записи очень велики.
Надо оптимизировать запросы.
Написать ХП с реализацией получения конечных 5т.записей.


 
galexis ©   (2004-12-16 11:24) [17]

Вы правы. Места на диске не хватило. Все 15Гб занял!


 
}|{yk ©   (2004-12-16 11:31) [18]

Так должно же написать, что в принтере нет бумаги ;)


 
Danilka ©   (2004-12-16 11:36) [19]

[6] Александр Иванов ©   (16.12.04 10:43)
Круто! Конечно, извратов всяких видел, но, надеюсь, в реальных задачах (да еще и выгрузка в эксель в таком виде) такое не встречается. :))

[17] galexis ©   (16.12.04 11:24)
Вобщем, почему проблема написано в [13] а как ее решить в [16]. :))


 
sniknik ©   (2004-12-16 11:45) [20]

Александр Иванов ©   (16.12.04 11:21) [15]
пез пояснений каждый понимает по своему. и потом ты лихо мегабайтам вес повысил... ;о)) а без этого и догадки будут неверными.


 
Александр Иванов ©   (2004-12-16 11:50) [21]

sniknik ©   (16.12.04 11:45) [20]

Да, с гигабайтами я переборщил :)



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.035 c
3-1102714041
Zlod3y
2004-12-11 00:27
2005.01.16
Нужны ли генераторы?


1-1104340572
Kh v Pa
2004-12-29 20:16
2005.01.16
RichEdit98


1-1104294010
msgipss
2004-12-29 07:20
2005.01.16
Создать несколько сервисов из одного


1-1104829082
Goblin
2005-01-04 11:58
2005.01.16
Print w delphi7


10-1076326813
Aleksandr
2004-02-09 14:40
2005.01.16
Помогите настроить WebConnection





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский