Vvr15 Ответов: 2

Загрузка больших файлов в базу данных sql с помощью c#.


Привет,

Не могли бы вы предложить мне лучший способ сохранить огромные файлы в базе данных с помощью c# без нагрузки на память.

В настоящее время я читаю файл в BinaryReader, читаю его на куски и отправляю в базу данных. I, который занимает много места в памяти во время выполнения. Поэтому не могли бы вы предложить мне наилучший возможный способ потоковой передачи базы данных данных, не оказывая такого большого давления на память.

Заранее спасибо
валлаб

2 Ответов

Рейтинг:
2

Christian Graus

ввр15 писал:
Не могли бы вы предложить мне лучший способ сохранить огромные файлы в базе данных с помощью c# без нагрузки на память.


вы не можете, с ASP.NET, поскольку существует только один механизм для загрузки файла на веб-страницу. Но с помощью клиентского приложения вы можете загружать файл по частям, поэтому он не должен быть в памяти сразу.


Vvr15

Можете ли вы предоставить этот фрагмент кода? Особенно раздел чтения файлов в потоках.

Рейтинг:
0

Chris Rokusek

SQL server может считывать файл непосредственно из файловой системы, если SP работает под управлением кого-то с привилегией сервера bulkadmin. Эта массовая команда работала на нас:

обновить someTable
установить данные filedata = (выбрать * из инструкции openrowset(Навального "' + @путь_к_файлу + "', параметр single_blob) как Blob)
где id = 1;


Maciej Los

Я сомневаюсь, что ОП заинтересован в ответе через 10 лет...
Кстати: Ваш код уязвим для sql-инъекций.