Чтение и запись данных из / в BLOB в MS SQL с использованием Visual C ++ и OLE DB - PullRequest
0 голосов
/ 16 ноября 2010

мож ты мне поможешь?Я ищу, например, как вставить и получить данные из BLOB в MS SQL Server 2008. Я использую OLE DB и Visual C ++.Спасибо

1 Ответ

1 голос
/ 16 ноября 2010

Здесь есть подробная информация по этой теме (в любом случае, сторона записи): Отправка BLOB-данных в SQL SERVER с использованием IROWSETFASTLOAD и ISEQUENTIALSTREAM .

Большинство доступных образцов тоже упрощенный и не демонстрировать переменная длина данных на строку или использование ISequentialStream. В этом примере вы увидите оба метода в одном исходный файл. По умолчанию образец показывает, как использовать IRowsetFastLoad для отправлять BLOB-данные переменной длины на строку используя встроенные привязки. В этом случае, встроенные BLOB-данные должны соответствовать доступная память. Этот метод имеет лучшая производительность, когда данные BLOB от нескольких байтов до нескольких МБ, потому что нет дополнительного потока накладные расходы. Для больших данных, особенно где данные не обязательно все доступны сразу в блоке, потоковая передача - лучший выбор.

Для чтения есть фон и код примера на MSDN здесь .

OLE DB для собственного клиента SQL Server провайдер не получает большие данные с SQL Server, пока не будет предложено сделать так по потребителю. Потребитель следует связать все короткие данные в одном Accessor, а затем использовать один или несколько временные средства доступа для извлечения больших значения данных по мере необходимости.

...