Проблема с пустыми разрешениями для файла Excel: пункт назначения SSIS Excel буферизует большие наборы записей через C: \ Users \ Default

Пакет служб SSIS вызывается через DTEXEC.EXE из веб-приложения. Пакет использует задачу «Файловая система» для создания копии файла шаблона Excel, который будет использоваться в качестве конечного файла Excel. Затем задача потока данных отправляет записи из источника OLE DB в пункт назначения Excel. Файл назначения Excel затем передается обратно в браузер пользователя веб-приложения.

Это прекрасно работает, когда удостоверение пула веб-приложений является учетной записью локального администратора. Это также работает, когда удостоверение пула веб-приложений является пользователем с ограниченными правами, который также подключен к Интернету.

Когда удостоверение пула веб-приложений является пользователем с ограниченными правами, но НЕ вошел в систему одновременно, возникает проблема. Небольшие файлы Excel (несколько сотен строк) по-прежнему возвращаются правильно. Нет проблем там. Большие файлы Excel (несколько десятков тысяч строк) возвращаются пустыми. В потоковом файле нет строк, которые возвращаются в браузер пользователя. Файл назначения, который записан на сервере, также пуст.

Пакет служб SSIS не видит ошибки и сообщает, что через поток данных прошли десятки тысяч записей. Это не проблема с разрешениями на стороне SQL Server. Когда учетной записи пользователя назначается системный администратор SQL Server, он по-прежнему не может записать какие-либо строки в больший целевой файл Excel.

Это похоже на проблему с разрешениями на стороне Windows, возможно, включает в себя запись буфера на диск, поэтому проблема не возникает при обработке всего нескольких сотен строк.

Предполагалось, что буферизации диска можно избежать, увеличив параметры задачи потока данных дляDefaultBufferMaxRows (10000 строк) и DefaultBufferSize (10 МБ), Однако, к сожалению, это не работает.

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

Ответы на вопрос(2)

Ваш ответ на вопрос