none
WSS 3.0 и большие файлы RRS feed

  • Вопрос

  • Установил WSS, настроил использование Filestream (http://vincy2005.spaces.live.com/blog/cns!931A97894C3E2DDE!147.entry), чтобы не хранить все файлы в БД.
    Проблема в следующем: в библиотеку документов не загружаются файлы более 5 МБ, выходит ошибка "URL-адрес 'DocLib/.........doc' недопустим. Возможно, он указывает на несуществующие файл или папку, или на файл или папку, расположенные вне текущего веб-узла. " Если урезать этот же документ до размера менее 5 МБ, то он спокойно загружается. Если же я пытаюсь загрузить файл более 27 МБ, то выходит ошибка 404 'Page not found'.
    В настройках Sharepoint Server изменил ограничение на размер загружаемых файлов в 2047 МБ - не помогает
    29 декабря 2009 г. 9:59

Ответы

    • Предложено в качестве ответа Anton Gritsenko - FreemanRU 29 декабря 2009 г. 10:48
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 13:51
    • Снята пометка об ответе Andrey Gordeev 29 декабря 2009 г. 14:39
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 14:39
    29 декабря 2009 г. 10:48
  • Решил проблему с 5 мб, дело было действительно в chunk size. Помогли следующие команды:

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN>stsadm -o setproperty -pn large-file-chunk-size -pv 104857600

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN>iisreset



    Однако по-прежнему не могу закачивать файлы размером более 27 МБ
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 13:51
    • Снята пометка об ответе Andrey Gordeev 29 декабря 2009 г. 14:39
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 14:39
    • Изменено Andrey Gordeev 30 декабря 2009 г. 9:29
    29 декабря 2009 г. 10:39

Все ответы

    • Предложено в качестве ответа Anton Gritsenko - FreemanRU 29 декабря 2009 г. 10:48
    • Отменено предложение в качестве ответа Andrey Gordeev 29 декабря 2009 г. 13:54
    29 декабря 2009 г. 10:04
  • Читал, делал, проблема не в этом. Более чем уверен, что это из-за использования Filestream, но как это исправить?
    29 декабря 2009 г. 10:09
  • Хотя, думаю, что это может помочь:
    Increase the default chunk size for large files

    The large–file–chunk–size property must be set from the command line. This property is configured for a server or server farm, and cannot be configured for an individual virtual server. To set this property, use the following syntax:

    Stsadm.exe –o setproperty –pn large–file–chunk–size –pv <size in bytes>.

    After making a change to this property, you must restart IIS. You can restart IIS by typing iisreset on the command line.

     

    Какой размер следует ввести?

     


    29 декабря 2009 г. 10:21
  • какой нужно - такой и вводите. Тут уж от вас зависит.


    http://opsmgr.ru
    29 декабря 2009 г. 10:24
  • Решил проблему с 5 мб, дело было действительно в chunk size. Помогли следующие команды:

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN>stsadm -o setproperty -pn large-file-chunk-size -pv 104857600

    C:\Program Files\Common Files\microsoft shared\Web Server Extensions\12\BIN>iisreset



    Однако по-прежнему не могу закачивать файлы размером более 27 МБ
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 13:51
    • Снята пометка об ответе Andrey Gordeev 29 декабря 2009 г. 14:39
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 14:39
    • Изменено Andrey Gordeev 30 декабря 2009 г. 9:29
    29 декабря 2009 г. 10:39
    • Предложено в качестве ответа Anton Gritsenko - FreemanRU 29 декабря 2009 г. 10:48
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 13:51
    • Снята пометка об ответе Andrey Gordeev 29 декабря 2009 г. 14:39
    • Помечено в качестве ответа Andrey Gordeev 29 декабря 2009 г. 14:39
    29 декабря 2009 г. 10:48
  • Мда, рано я радовался. Установил ограничения на 1024 Мб, а файлы всё равно не загружались - недостаточно памяти на сервере. Ну да и ладно, самое главное, что файлы по 40-60 Мб загружались... Но после нескольких неудачных попыток загрузить файлы объёмом 300+ Мб вообще перестали загружаться любые файлы :( Опять выходит эта ошибка: "URL-адрес 'DocLib/.........doc' недопустим. Возможно, он указывает на несуществующие файл или папку, или на файл или папку, расположенные вне текущего веб-узла."
    Причём неважно сколько весит файл - хоть 2 Кб, хоть 60 Мб
    29 декабря 2009 г. 14:42
  • Никто не знает как это исправить? -/
    30 декабря 2009 г. 8:48
  • Попробуйте пересоздать сайт.

    PS Вообще загрузка файлов такого объема - задача не всегда по силам текущей версии шарепоинта. Что у вас за доки такие, которые весят 40-60 Мб? Столько даже картинка не весит отличная...
    Почитайте на досуге еще вот это http://freemanru.spaces.live.com/blog/cns!9E1589588902DBAA!384.entry

    http://opsmgr.ru
    30 декабря 2009 г. 9:26
  • Если пересоздать сайт, то всё нормально. Но у меня такая ерунда уже 2 раза случалась, 2 раза удалял/добавлял заново приложения
    Есть документы, которые весят 40-60 Мб, например pdf файлы.
    По ссылке запись читал, по ней и нашёл способ, как использовать Filestream
    30 декабря 2009 г. 10:21
  • Если "ломается" по ходу, то внимательно изучай логи sharepoint, может где-то что-то не так настроено. Скачай н-р SPTraceView и посмотри что проивходит в реале.

    Вообще FileStream - костыль еще тот, мне больше нравится реализация PodCast.


    http://opsmgr.ru
    30 декабря 2009 г. 12:57
  • А может есть какие-то другие способы хранить файлы не в БД?
    31 декабря 2009 г. 7:58
  • Скачал SPTraceView, выходит следующая ошибка:

    "Unexpected query execution failure, error code 8116. Additional error information from SQL Server is included below. "Argument data type varbinary(max) is invalid for argument 1 of textptr function. " Query text (if available): "DECLARE @@S uniqueidentifier; DECLARE @@DocId uniqueidentifier; DECLARE @@Level tinyint; DECLARE @@DocUIVersion int; DECLARE @@DoclibRowId int; DECLARE @@iRet int;DECLARE @DN nvarchar(256); DECLARE @LN nvarchar(128); DECLARE @FU nvarchar(260); SET @@Level=1 SET @@DocUIVersion =512 SET @@DocId='ECF7C547-8CCD-471C-AB35-1D683A5F5C73' SET @@S='1D50601C-D7B8-4899-AA37-6A8DCFB9CC6F'; EXEC @@DoclibRowId = proc_GenerateNextId '48992AF3-A37D-43AE-978E-C993ADEF0B6A','3EC63F34-25C1-4C6B-9C69-C12DE5F93D61'; SET @DN=N'sites/usd/Shared Documents'; SET @LN=N'040 Песенка о хорошем d=@@DoclibRowId,@UIVersion=@@DocUIVersion,@RowOrdinal=0,@DocIdAdded='ECF7C547-8CCD-471C-AB35-1D683A5F5C73',@Size=0,@ItemName=N'040 Песенка о хорошем настроении - Карнавальная ночь.mp3',@ItemDirName=@DN OUTPUT,@ItemLeafName=@LN OUTPUT,@ItemDocType=0,@UserId=1073741823,@Level=@@Level, @TimeNow='20100101 13:36:09', @tp_ContentTypeId = ?,@tp_ContentType=?,@tp_ModerationStatus=?,@nvarchar1=?,@nvarchar2=?,@nvarchar3=?,@acl=0xF3FE000001000000000000000300000003000000FFFFFFFFFFFFFF7F0400000061104308B000000005000000EF12433CB0010000; IF @@iRet<> 0 GOTO done; SELECT @@iRet, @@DoclibRowId; done: IF @@iRet=0 BEGIN COMMIT; EXEC proc_GetLinkInfoSingleDoc @@S,@DN,@LN,@@Level; END ELSE ROLLBACK; SET ?=@@iRet;""
    1 января 2010 г. 13:38
  • Слышал что в sharepoint 2010 проблема решена.

    Возможно поможет это:
    stsadm -o setproperty -pn max-file-post-size -pv 400 (вроде бы так, или в центре администрирования установить макс размер загр. файлов)

    Возможно проблема в IIS. Стоит ограничение на загружаемый контент. Открываете IIS Manager, находите Ваш узел, в списке фич находите Request Filtering, заходите в него там нажимаете Редактировать настройки фичи и там Вам открываются несколько полей, в том числе и величина загружаемого контента.

    Может быть помогут еще эти ссылки http://support.microsoft.com/kb/925083#top http://www.gotdotnet.ru/forums/5/117012/

    25 января 2010 г. 7:52
  • Скачал SPTraceView, выходит следующая ошибка:

    "Unexpected query execution failure, error code 8116. Additional error information from SQL Server is included below. "Argument data type varbinary(max) is invalid for argument 1 of textptr function. "
    max indicates that the maximum storage size is 2^31-1 bytes
    Т.е. максимум - 4Гб. Это раз.
    Второе - textptr работате только с "text, ntext, and image data". А шарик пытается вызвать её на данные типа varbinary(). поэтому и падает. Думаю это будет изменить сложно.

    http://opsmgr.ru
    26 января 2010 г. 6:50
  • Слышал что в sharepoint 2010 проблема решена.

    Возможно поможет это:
    stsadm -o setproperty -pn max-file-post-size -pv 400 (вроде бы так, или в центре администрирования установить макс размер загр. файлов)

    Возможно проблема в IIS. Стоит ограничение на загружаемый контент. Открываете IIS Manager, находите Ваш узел, в списке фич находите Request Filtering, заходите в него там нажимаете Редактировать настройки фичи и там Вам открываются несколько полей, в том числе и величина загружаемого контента.

    Может быть помогут еще эти ссылки http://support.microsoft.com/kb/925083#top  http://www.gotdotnet.ru/forums/5/117012/

    Всё делал, всё пробовал... Пока забил на эту проблему и жду следующей версии WSS.
    26 января 2010 г. 7:52
  • Я лично не настраивал наш moss 2007, но мы научились это делать. Сейчас уточнил, там кроме IIS еще надо sql настроить, там тоже некие настройки надо подкрутить.
    26 января 2010 г. 11:32