G
Guest
Кто-нибудь пробовал хранить в SQL Server 2005 большие файлы? 50+Мб. Речь идёт об интерфейсе СУБД с C#, .NET.
Я использую для этого тип varbinary(MAX). Читать данные просто: можно сразу получить byte[], можно получить поток чтения (код на память не вспомню).
Проблема возникла с записью таких данных. Я могу в запрос подставлять простой массив byte[], но тут требуется весь большой файл загрузить в оперативку и запрос этот выполняется как-то непредсказуемо. Мне показалось из небольших тестов, что начиная с некоторого объёма данных, запись производится значительно дольше (20Мб = 3сек, 60Мб = 25сек). Для таких команд ещё приходится как-то выставлять разумный таймаут выполнения или убирать его вовсе. Как же можно большие данные записывать потоком? Есть ли другие предложения?
Я использую для этого тип varbinary(MAX). Читать данные просто: можно сразу получить byte[], можно получить поток чтения (код на память не вспомню).
Проблема возникла с записью таких данных. Я могу в запрос подставлять простой массив byte[], но тут требуется весь большой файл загрузить в оперативку и запрос этот выполняется как-то непредсказуемо. Мне показалось из небольших тестов, что начиная с некоторого объёма данных, запись производится значительно дольше (20Мб = 3сек, 60Мб = 25сек). Для таких команд ещё приходится как-то выставлять разумный таймаут выполнения или убирать его вовсе. Как же можно большие данные записывать потоком? Есть ли другие предложения?