Получение ошибки при заполнении данных из sqldataadapter в datatable in VB.NET которые содержат двоичные данные
Привет , я храню двоичные данные в одной таблице,в цикле For получает двоичные данные один за другим,ниже приведен мой код в этом
fadts is datatable содержит 3 строки,когда в первый раз он работает нормально,во второй раз, когда идет заполнять данные в dataadapter, он выдает ошибку,
For Each row1 As DataRow In fadts.Rows callclearsql() System.Threading.Thread.Sleep(2000) Dim facons1 As New SqlConnection(My.Settings.CS) facons1.Open() Dim fadrs1 As New SqlDataAdapter("SELECT ID,DocumentExtension,DocumentName,[Document] FROM FileStore where ID=" & row1("ID").ToString & "", facons1) Dim fadts1 As New DataTable fadrs1.SelectCommand.CommandTimeout = 0 fadts1.Rows.Clear() fadrs1.Fill(fadts1)' Here got Exception of type 'System.OutOfMemoryException' was thrown. Writelog("above loop1.1") Next
Он работает только в первом цикле, во второй раз он выдает ошибку, столбец[Document] содержит двоичные данные.
Пожалуйста ответьте как можно скорее
С уважением
Аравинд
Что я уже пробовал:
Я сделал dispose, clear и close для fadrs1, fadts1 и sql-соединения, но даже это вызывает ошибку.
Dave Kreskowiak
Насколько велики эти строки в байтах каждая?
Aravindba
300 МБ, значит, мы используем таблицу filestream. [Document] varbinary (MAX) проверено, для первого файла можно получить, во второй раз он выдает ошибку.если все файлы ниже 50 МБ, то нет проблем с тем же кодированием.Пожалуйста, скажите мне, как решить эту проблему . я добавил ниже запрос в ДО и после команды select и в каждые 5 строк
Инструкция DBCC FREESYSTEMCACHE ('все') с MARK_IN_USE_FOR_REMOVAL; инструкция DBCC FREESESSIONCACHE с NO_INFOMSGS; инструкция DBCC FREEPROCCACHE с NO_INFOMSGS; инструкция DBCC DROPCLEANBUFFERS; инструкция DBCC FREEPROCCACHE ("внутренней"); инструкция DBCC FREESESSIONCACHE с NO_INFOMSGS; инструкция DBCC FREESYSTEMCACHE ('все', внутренние);
Aravindba
Спасибо за ваши усилия, наконец - то я нашел решение по этой ссылке
https://msdn.microsoft.com/en-us/library/87z0hy49(v=против 110). aspx
Спасибо