Поделиться через


Как задать данные больших объектов (OLE DB)

Для передачи указателя на свой собственный объект хранения потребитель создает метод доступа, который привязывает значение столбца BLOB, а затем вызывает метод IRowsetChange::SetData или IRowsetChange::InsertRow.

Процедуры

Для задания данных BLOB

  1. Создайте структуру DBOBJECT, описывающую, каким образом должен производиться доступ к столбцу BLOB. Установите для элемента dwFlag структуры DBOBJECT значение STGM_READ, а для элемента iid значение IID_ISequentialStream (используемого интерфейса).

  2. Установите свойства в группе свойств DBPROPSET_ROWSET, чтобы включить возможность обновления для набора строк.

  3. Создайте набор привязок (по одной для каждого столбца) с помощью массива структур DBBINDING. Установите для элемента wType структуры DBBINDING значение DBTYPE_IUNKNOWN, а для элемента pObject значение указателя на созданную структуру DBOBJECT.

  4. Создайте метод доступа на основе сведений о привязках в массиве структур DBBINDINGS.

  5. Вызовите функцию GetNextRows для выборки следующих строк из набора строк. Вызовите функцию GetData для чтения данных набора строк.

  6. Для задания данных создайте объект хранения, содержащий данные (а также индикатор длины), а затем вызовите метод IRowsetChange::SetData (или IRowsetChange::InsertRow) с методом доступа, который привяжет столбец BLOB.

Замечания

Полный образец кода см. в файле WorkingWithBLOBs.cpp. Архив, содержащий этот образец, можно загрузить на странице загрузок SQL Server MSDN.

Этот образец создан с помощью Microsoft Visual C++ 2005.

Примечание по безопасностиПримечание по безопасности

По возможности используйте проверку подлинности Windows. Если проверка подлинности Windows недоступна, запросите у пользователя ввод учетных данных во время выполнения. Избегайте хранения учетных данных в файле. Если необходимо сохранить учетные данные, зашифруйте их с помощью API-интерфейса шифрования Win32.