Исходные данные.
Исходные данные такие же как и в предыдущем сощбщении: SharePoint 2010 -> Visual Web Part -> UpdatePanel -> Microsoft Report Viewer 2010.
Ситуация.
MRV 2010 корректно генерирует рапорт на страничке в своей секции. НО когда мы тыцаем на "Export to Excel/Word" и пытаемя открыть сгенерированный документ, то во-первых мы получаем следущее предупреждение "The file you are trying to open '<FileName.xls>', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?". Во-вторых - если мы соглашаемся открыть документ - то получаем пустоту размером в 0 кб.
Исследование.
Если залогиниться как пользователь который имеет админские права на сервере и сэкспортировать документ в вышеуказанные форматы - то все хорошо. Никаких предупреждений. Да и документы не пустые. Но стоит только зайти как обычный пользователь - "Хьюстон, у нас проблемы". Так что проблемы где-то в правах на сервере.
Посредством полезной утилитки Procees Monitor обнаружил что Network Service имеет ошибку записи при попытке записать екселевский файлик в некоторый каталог. Это был знак.
Решение.
Вот этот каталог - "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp". Для того чтоб решить эту проблему достаточно было добавить пользователя "Authenticated Users" с правами "Full Control " на эту директорию.
НО! Это не совсем правильный ответ.... Каталог описанный выше - это всего лишь частный случай... На самом деле нужно сделать следущее - добавить пользователя "Authenticated Users" с правами "Full Control " на временную директорию аккаунта под которым выполняется Пул вашего веб-приложения. У меня Пул запускался как Network Service - так что вышеописанная директория мне подошла. Но если ваш пул запускается, например, под пользователем "Administrator.Office" - то возможно, вам понадобится эта директория: C:\Users\Administrator.OFFICE\AppData\Local\Temp. Да, и делайте все это на сервере, а не на локальной машине.
English version of this post >>
WWW.LANTERIA.COM
Исходные данные такие же как и в предыдущем сощбщении: SharePoint 2010 -> Visual Web Part -> UpdatePanel -> Microsoft Report Viewer 2010.
Ситуация.
MRV 2010 корректно генерирует рапорт на страничке в своей секции. НО когда мы тыцаем на "Export to Excel/Word" и пытаемя открыть сгенерированный документ, то во-первых мы получаем следущее предупреждение "The file you are trying to open '<FileName.xls>', is in a different format than specified by the file extension. Verify that the file is not corrupted and is from a trusted source before opening the file. Do you want to open the file now?". Во-вторых - если мы соглашаемся открыть документ - то получаем пустоту размером в 0 кб.
Исследование.
Если залогиниться как пользователь который имеет админские права на сервере и сэкспортировать документ в вышеуказанные форматы - то все хорошо. Никаких предупреждений. Да и документы не пустые. Но стоит только зайти как обычный пользователь - "Хьюстон, у нас проблемы". Так что проблемы где-то в правах на сервере.
Посредством полезной утилитки Procees Monitor обнаружил что Network Service имеет ошибку записи при попытке записать екселевский файлик в некоторый каталог. Это был знак.
Решение.
Вот этот каталог - "C:\Windows\ServiceProfiles\NetworkService\AppData\Local\Temp". Для того чтоб решить эту проблему достаточно было добавить пользователя "Authenticated Users" с правами "Full Control " на эту директорию.
НО! Это не совсем правильный ответ.... Каталог описанный выше - это всего лишь частный случай... На самом деле нужно сделать следущее - добавить пользователя "Authenticated Users" с правами "Full Control " на временную директорию аккаунта под которым выполняется Пул вашего веб-приложения. У меня Пул запускался как Network Service - так что вышеописанная директория мне подошла. Но если ваш пул запускается, например, под пользователем "Administrator.Office" - то возможно, вам понадобится эта директория: C:\Users\Administrator.OFFICE\AppData\Local\Temp. Да, и делайте все это на сервере, а не на локальной машине.
English version of this post >>
WWW.LANTERIA.COM