Присоединение к Informix BLOB без исчерпания памяти - PullRequest
1 голос
/ 30 августа 2010

Я пишу приложение на c #, которое вставляет большой (1 ГБ +) объем данных в большой двоичный объект в базе данных informix.

Однако, часто файл слишком велик, и процессу не хватает памяти. Я реализовал канал чанкинга WCF, чтобы смягчить эту проблему, но мне нужно поместить эти чанки в большой двоичный объект без использования памяти для их хранения.

Как я могу добавить эти куски в большой двоичный объект по мере их поступления, вместо того, чтобы сначала буферизовать их все в памяти?

ТИА!

Ответы [ 2 ]

0 голосов
/ 16 сентября 2010

Как оказалось, метод Write классов IfxBlob, кажется, записывает его непосредственно в большой объект на сервере базы данных и, по-видимому, полностью пропускает память, поэтому не нужно было ничего хитрого.

0 голосов
/ 01 сентября 2010

Я не уверен, как это переводится в C #, но я думаю, что решение ESQL / C проиллюстрировано в Справочном руководстве ESQL / C Приложение C и функции LO (большой объект) перечислены в Приложение B , в то время как Глава 8 описывает, как их использовать.

В Руководстве поставщика Informix .NET (руководство) есть раздел «Справочник типов», включающий описаниекласса IfxBlob .

Если повезет, один или несколько из них помогут вам найти нужные ответы.

...