Модераторы: gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Ошибка при работе с excel 
:(
    Опции темы
oleksergey
Дата 4.5.2009, 19:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 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

Кто сталкивался с такой проблемой, помогите пожалуйста.
PM MAIL   Вверх
Любитель
Дата 5.5.2009, 10:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



 smile 

Во-первых, MS настоятельно не рекомендует использовать из-под веб-а Office Automation. Если можно без этого обойтись - лучше обойтись.

Во-вторых, приведи минимальный код, на котором репродьюсится твоя ошибка.

В-третьих, есть такая "особенность" при работе с excel automation из-под ASPNET-а: насчёт завершения приложения. Классических workbook.Close, application.Quit здесь не хватит. Необходимо вызывать Marshal.ReleaseComObject для всех используемых экселевских объектов. Как следствие - писать что-то типа worksheet.Sheets[1] вообще нельзя. Вначале надо сохранить референс на коллекцию воркшитов, потом получить воркшит. Ну и в конце явно зарелизить оба. Ну, само собой можно написать хелпер, удобно собирающий все эти ссылки (насколько это возможно) и релизищий их по явному вызову (ну и IDisposable для удобства можно реализовать).

В-четвёртых, не надо забывать об имперсонейте веб-сайта. Быть может, можно сделать-таки ASPNET-а более-менее полноценным юзером (в плане Office Automation), но.. вообщем в своём время это сделать не удалось. Впрочем, для экселя (если, конечно, нет внедрённых OLE-объектов) вполне хватит прошлого совета.


--------------------
PM MAIL ICQ Skype   Вверх
oleksergey
Дата 6.5.2009, 00:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.11.2007

Репутация: нет
Всего: нет



Проблема возникает при создании объекта.
Excel.ApplicationClass m_app = new Excel.ApplicationClass();
PM MAIL   Вверх
Любитель
Дата 6.5.2009, 01:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Процессы экселя есть на сервере?

Добавлено через 2 минуты и 13 секунд
Цитата(oleksergey @  4.5.2009,  19:25 Найти цитируемый пост)
Попробывал поэкспериментировать с правами DCOM

И насчёт этого - локальный запуск и активация для "Microsoft Excel Application" пользователю ASPNET разрешены?

Это сообщение отредактировал(а) Любитель - 6.5.2009, 01:06


--------------------
PM MAIL ICQ Skype   Вверх
oleksergey
Дата 6.5.2009, 09:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.11.2007

Репутация: нет
Всего: нет



Цитата(Любитель @ 6.5.2009,  01:05)
Процессы экселя есть на сервере?

Добавлено @ 01:07
Цитата(oleksergey @  4.5.2009,  19:25 Найти цитируемый пост)
Попробывал поэкспериментировать с правами DCOM

И насчёт этого - локальный запуск и активация для "Microsoft Excel Application" пользователю ASPNET разрешены?

процесы есть конечно.
локальный запуск если разрешить, то появляется второе исключение о котором я писал.
PM MAIL   Вверх
Любитель
Дата 6.5.2009, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Цитата(oleksergey @  6.5.2009,  09:58 Найти цитируемый пост)
процесы есть конечно.

Процессы? Прибей все. Запусти заново.

Цитата(oleksergey @  6.5.2009,  09:58 Найти цитируемый пост)
локальный запуск если разрешить, то появляется второе исключение о котором я писал. 

Должен быть разрешён и локальный запуск, и локальная активация. Проблема первого эксепшена именно в этом - это точно.

Проблема второго, если верить тексту:
Цитата(oleksergey @  4.5.2009,  19:25 Найти цитируемый пост)
because there is not enough available memory or disk space. 


Поэтому процессы прибить надо точно. Да и место на диске проверить smile


--------------------
PM MAIL ICQ Skype   Вверх
oleksergey
Дата 6.5.2009, 18:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.11.2007

Репутация: нет
Всего: нет



Цитата(Любитель @ 6.5.2009,  10:58)
Цитата(oleksergey @  6.5.2009,  09:58 Найти цитируемый пост)
процесы есть конечно.

Процессы? Прибей все. Запусти заново.

Цитата(oleksergey @  6.5.2009,  09:58 Найти цитируемый пост)
локальный запуск если разрешить, то появляется второе исключение о котором я писал. 

Должен быть разрешён и локальный запуск, и локальная активация. Проблема первого эксепшена именно в этом - это точно.

Проблема второго, если верить тексту:
Цитата(oleksergey @  4.5.2009,  19:25 Найти цитируемый пост)
because there is not enough available memory or disk space. 


Поэтому процессы прибить надо точно. Да и место на диске проверить smile

убивание процесов ничего не меняет.
а места на диске более чем достаточно.
PM MAIL   Вверх
Любитель
Дата 6.5.2009, 18:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Программист-романтик
****


Профиль
Группа: Комодератор
Сообщений: 3645
Регистрация: 21.5.2005
Где: Воронеж

Репутация: 5
Всего: 92



Ок. Какая версия офиса на сервере? И какая система?


--------------------
PM MAIL ICQ Skype   Вверх
oleksergey
Дата 6.5.2009, 18:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 13
Регистрация: 26.11.2007

Репутация: нет
Всего: нет



Цитата(Любитель @ 6.5.2009,  18:25)
Ок. Какая версия офиса на сервере? И какая система?

Office стоит 2007, а ОС Windows Vista
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
Любитель
Mymik
mr.DUDA

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Любитель, Mymik, mr.DUDA.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка под ASP.NET | Следующая тема »


 




[ Время генерации скрипта: 0.0687 ]   [ Использовано запросов: 21 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.