Ramana Bellary Ответов: 3

Исключение из памяти при преобразовании байтового массива в строку


Привет,
Я получаю исключение из памяти при преобразовании байтового массива в строку. Первоначально я сохранил содержимое файла(338 МБ) в базе данных в формате varbinay , после чтения содержимого из базы данных я преобразовываю этот байтовый массив в строку, где получаю ошибку .
var val = cmd.ExecuteScalar();//Getting form DataBase
System.Text.Encoding enc = System.Text.Encoding.ASCII;
string myString = enc.GetString((byte[])val);//Converting into String

Пожалуйста, кто-нибудь, скажите мне решение.

Спасибо и с уважением,
Рамана

Sergey Alexandrovich Kryukov

Подробности исключения, пожалуйста, стек, внутренняя строка кода отчета...
--СА

3 Ответов

Рейтинг:
2

Firo Atrum Ventus

Привет, у меня сейчас такая же проблема, и я добрался до этого вопроса, когда попробовал поискать решение в Google. К счастью, я пришел с решением здесь[^].
- ps: подумайте о том, чтобы дать окончательный модификатор в объявлении класса.


Рейтинг:
1

Thomas Krojer

Первое, что я попробую сделать, это сделать то же самое с МАЛЕНЬКИЙ файл.

Если это работает нормально, то вполне вероятно, что объем ваших данных 338 МБ слишком велик. Вам придется читать и конвертировать его по частям (возможно, 100 тысяч за чтение / преобразование...).


Рейтинг:
0

Wayne Gaylard

Вам нужно будет разбить строку на куски и обработать куски по отдельности. Есть хороший пример того, как это сделать Здесь[^].

Надеюсь, это поможет