IRowsetFastLoad::InsertRow (OLE DB)

Добавляет строку в набор строк массового копирования. Примеры см. в статьях о массовом копировании данных с помощью IRowsetFastLoad (OLE DB) и отправки данных BLOB в SQL SERVER с помощью IROWSETFASTLOAD и ISEQUENTIALSTREAM (OLE DB).

Синтаксис

  
HRESULT InsertRow(  
HACCESSOR  
hAccessor  
,  
void*  
pData  
);  
  

Аргументы

hAccessor[in]
Дескриптор доступа, определяющий данные строки для массового копирования. На метод доступа ссылается метод доступа к строкам, привязывая потребительская память, содержащая значения данных.

pData[in]
Указатель на память, принадлежающую потребителю, содержащую значения данных. Дополнительные сведения см. в разделе "Структуры DBBINDING".

Значения кода возврата

S_OK
Метод выполнен успешно. Все привязанные значения состояния для всех столбцов имеют значение DBSTATUS_S_OK или DBSTATUS_S_NULL.

E_FAIL
Произошла ошибка. Сведения об ошибке доступны из интерфейсов ошибок набора строк.

E_INVALIDARG
Аргумент pData был установлен на указатель NULL.

E_OUTOFMEMORY (Ошибка: Недостаточно памяти)
SQLNCLI11 не удалось выделить достаточно памяти для выполнения запроса.

E_UNEXPECTED
Метод был вызван в набор строк массового копирования, ранее недопустимый методом IRowsetFastLoad::Commit .

DB_E_BADACCESSORHANDLE
Недопустимый аргумент hAccessor , предоставленный потребителем.

DB_E_BADACCESSORTYPE
Указанный метод доступа не был методом доступа к строкам или не указал память, принадлежащей потребителю.

Замечания

Ошибка, преобразующая данные потребителей в тип данных SQL Server для столбца, приводит к E_FAIL возврату от поставщика OLE DB собственного клиента SQL Server. Данные можно передавать в SQL Server в любом методе InsertRow или только в методе Commit . Приложение-получатель может вызывать метод InsertRow много раз с ошибочными данными, прежде чем получать уведомление об ошибке преобразования типов данных. Так как метод Commit гарантирует правильность указания всех данных потребителем, потребитель может использовать метод Commit соответствующим образом для проверки данных.

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

Массовые скопированные строки форматируются на сервере для SQL Server. Формат строки зависит от всех параметров, которые могут быть заданы для подключения или сеанса, например ANSI_PADDING. Этот параметр устанавливается по умолчанию для любого подключения, сделанного через поставщик OLE DB собственного клиента SQL Server.

См. также

IRowsetFastLoad (OLE DB)