Gus_Hidding
Дата: 08.12.2009 08:43:50
Всех приветствую!
есть проблема: делаю импорт из Excel так:
DoCmd.RunSQL ("INSERT INTO request (parent_id) SELECT parent_id FROM [A1:P610022] IN '" & Xfiledial & "'[Excel 8.0;HDR=Yes;IMEX=1]")
где, Xfiledial - адрес файла Excel.
Видно что объем входящих данных очень большой. после выполнения, Акц торомзит не хило. лечится только перезапуском приложения.
можно ли как нибудь очистить память?
_
pentium-4? 512 ОЗУ
franck_f
Дата: 08.12.2009 09:02:03
я прошу прощения за возможно делитантскую точку зрения, но, по-моему, обработка 9 760 352 ячеек и не должна проходить за считаные секунды... разве нет?
Gus_Hidding
Дата: 08.12.2009 09:13:06
импорт сам происходит за минуту где-то.
Gus_Hidding |
после выполнения, Акц торомзит не хило. |
даже если час после выполнения пройдет, то все равно лаги будут. Только рестарт приложения.
уже думаю привязывать утилиту по очистки памяти ))
franck_f
Дата: 08.12.2009 09:20:16
наткнулся на такие слова
|
учтите, что формат A1..E25 не поддерживается в Microsoft Access 97 и более поздних версиях. Если необходимо, при импорте или связывании из рабочей книги Microsoft Excel версии 5.0 или более поздних версий перед именем диапазона задается имя листа и восклицательный знак; например Бюджет!A1:C7. |
m
Дата: 08.12.2009 11:30:50
Я знаю, что если тянуть из экселя находясь в Экселе с помощью ADO то Эксель вообще может всю память компьютера сожрать, и лечится это только перезагрузкой Экселя. Это глюк, который признает сам майкрософт. Советуют тянуть данные только из закрытой книги.
Возможно, это как-то перекликается и с Акцессом.
CoolMind
Дата: 08.12.2009 11:47:39
Gus_Hidding, хе-хе... Вот любите вы линковать Экселевские таблицы. А я люблю читать данные из Экселя, используя его объектную модель. А что, вполне нормальный способ, не быстрый, но не приводит к утечке памяти.
m
Дата: 08.12.2009 12:35:16
2 CoolMind
Думаю что обрабатывать 9 760 352 ячеек запросом будет в десятки раз быстрее чем считыванием, я не прав? :)
Gus_Hidding
Дата: 08.12.2009 15:38:23
CoolMind,добрый день!
Ваш способ не пойдет. дольше минуты ждать нельзя =)
придется перезапускаться однако.
CoolMind
Дата: 08.12.2009 15:52:20
m, Gus_Hidding, ну ладно, уговорили :)
Хотел только спросить, а ведь подвисает-то Аксесс. Может, дело в том, что он после стольких данных начинает сам в ступор входить? Т.е. не в Экселе дело? Да и по окончании сжатие/восстановление не помешало бы (с резервным копированием, конечно).
Так что все действия можно даже повесить на одну кнопенцию. Кстати, тема резервного копирования недавно обсуждалась (про Shell).
m
Дата: 08.12.2009 16:00:02
2 Gus_Hidding
Тянете с открытой книги Экселя ?