![]() |
Модераторы: gambit |
![]() ![]() ![]() |
|
oleksergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 26.11.2007 Репутация: нет Всего: нет |
Всем добрый вечер.
Возникла проблема при работе с excel. Выводится такое сообщение об ошибке: Сведения об исключении: System.UnauthorizedAccessException: Сбой при получении производства объектов класса COM для компонента с CLSID {00024500-0000-0000-C000-000000000046} в результате следующей ошибки: 80070005. Попробывал поэкспериментировать с правами DCOM. Появилась новое исключение: Сведения об исключении: System.Runtime.InteropServices.COMException: Microsoft Office Excel cannot open or save any more documents because there is not enough available memory or disk space. • To make more memory available, close workbooks or programs you no longer need. • To free disk space, delete files you no longer need from the disk you are saving to Кто сталкивался с такой проблемой, помогите пожалуйста. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
![]() Во-первых, MS настоятельно не рекомендует использовать из-под веб-а Office Automation. Если можно без этого обойтись - лучше обойтись. Во-вторых, приведи минимальный код, на котором репродьюсится твоя ошибка. В-третьих, есть такая "особенность" при работе с excel automation из-под ASPNET-а: насчёт завершения приложения. Классических workbook.Close, application.Quit здесь не хватит. Необходимо вызывать Marshal.ReleaseComObject для всех используемых экселевских объектов. Как следствие - писать что-то типа worksheet.Sheets[1] вообще нельзя. Вначале надо сохранить референс на коллекцию воркшитов, потом получить воркшит. Ну и в конце явно зарелизить оба. Ну, само собой можно написать хелпер, удобно собирающий все эти ссылки (насколько это возможно) и релизищий их по явному вызову (ну и IDisposable для удобства можно реализовать). В-четвёртых, не надо забывать об имперсонейте веб-сайта. Быть может, можно сделать-таки ASPNET-а более-менее полноценным юзером (в плане Office Automation), но.. вообщем в своём время это сделать не удалось. Впрочем, для экселя (если, конечно, нет внедрённых OLE-объектов) вполне хватит прошлого совета. |
|||
|
||||
oleksergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 26.11.2007 Репутация: нет Всего: нет |
Проблема возникает при создании объекта.
Excel.ApplicationClass m_app = new Excel.ApplicationClass(); |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Процессы экселя есть на сервере?
Добавлено через 2 минуты и 13 секунд И насчёт этого - локальный запуск и активация для "Microsoft Excel Application" пользователю ASPNET разрешены? Это сообщение отредактировал(а) Любитель - 6.5.2009, 01:06 |
|||
|
||||
oleksergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 26.11.2007 Репутация: нет Всего: нет |
процесы есть конечно. локальный запуск если разрешить, то появляется второе исключение о котором я писал. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Процессы? Прибей все. Запусти заново.
Должен быть разрешён и локальный запуск, и локальная активация. Проблема первого эксепшена именно в этом - это точно. Проблема второго, если верить тексту: Поэтому процессы прибить надо точно. Да и место на диске проверить ![]() |
|||
|
||||
oleksergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 26.11.2007 Репутация: нет Всего: нет |
убивание процесов ничего не меняет. а места на диске более чем достаточно. |
|||
|
||||
Любитель |
|
|||
Программист-романтик ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3645 Регистрация: 21.5.2005 Где: Воронеж Репутация: 5 Всего: 92 |
Ок. Какая версия офиса на сервере? И какая система?
|
|||
|
||||
oleksergey |
|
|||
Новичок Профиль Группа: Участник Сообщений: 13 Регистрация: 26.11.2007 Репутация: нет Всего: нет |
Office стоит 2007, а ОС Windows Vista |
|||
|
||||
![]() ![]() ![]() |
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Разработка под ASP.NET | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |