Freigeben über


IRowsetFastLoad::InsertRow (OLE DB)

Fügt dem Rowset für das Massenkopieren eine Zeile hinzu. Beispiele finden Sie unter Massenkopieren von Daten mithilfe von IRowsetFastLoad (OLE DB) und Senden von BLOB-Daten an SQL SERVER mit IROWSETFASTLOAD und ISEQUENTIALSTREAM (OLE DB).

Syntax

  
HRESULT InsertRow(  
HACCESSOR  
hAccessor  
,  
void*  
pData  
);  
  

Argumente

hAccessor[in]
Das Handle des Accessors, der die Zeilendaten für das Massenkopieren definiert. Der Accessor, auf den verwiesen wird, ist ein Zeilenaccessor, der den consumer-eigenen Speicher bindet, in dem sich die Datenwerte befinden.

pData[in]
Ein Zeiger zum consumer-eigenen Speicher, in dem sich die Datenwerte befinden. Weitere Informationen finden Sie unter DBBINDING-Strukturen.

Rückgabecodewerte

S_OK
Die Methode wurde erfolgreich ausgeführt. Alle gebundenen Statuswerte für alle Spalten weisen den Wert DBSTATUS_S_OK oder DBSTATUS_S_NULL auf.

E_FAIL
Ein Fehler ist aufgetreten. Fehlerinformationen sind über die Fehlerschnittstellen des Rowsets verfügbar.

E_INVALIDARG
Das pData -Argument wurde auf einen NULL-Zeiger festgelegt.

E_OUTOFMEMORY
SQLNCLI11 konnte keinen ausreichenden Arbeitsspeicher zum Ausführen der Anforderung zuordnen.

E_UNEXPECTED
Die Methode wurde für ein Rowset für das Massenkopieren aufgerufen, das zuvor von der IRowsetFastLoad::Commit-Methode für ungültig erklärt wurde.

DB_E_BADACCESSORHANDLE
Das vom Consumer bereitgestellte hAccessor -Argument ist ungültig.

DB_E_BADACCESSORTYPE
Der angegebene Accessor war kein Zeilenaccessor oder hat keinen consumer-eigenen Arbeitsspeicher angegeben.

Bemerkungen

Ein Fehler beim Konvertieren von Consumerdaten in den SQL Server-Datentyp für eine Spalte führt zu einer E_FAIL rückgabe vom SQL Server Native Client OLE DB-Anbieter. Die Daten können entweder über eine beliebige SQL ServerInsertRow -Methode oder nur über die Commit -Methode an übertragen werden. lDie Consumer-Anwendung kann die InsertRow -Methode mehrere Male mit fehlerhaften Daten aufrufen, bevor eine Meldung eintrifft, dass die Daten nicht korrekt sind. Die Commit -Methode gewährleistet, dass alle Daten ordnungsgemäß vom Consumer angegeben werden. Der Consumer kann die Commit -Methode gegebenenfalls verwenden, um die Daten zu überprüfen.

Die SQL Server Native Client OLE DB-Anbieter-Massenkopierrowsets sind schreibgeschützt. Der SQL Server Native Client OLE DB-Anbieter macht keine Methoden verfügbar, die eine Consumerabfrage des Rowsets zulassen. Um die Verarbeitung zu beenden, kann der Consumer seine Verweise auf die IRowsetFastLoad-Schnittstelle ohne die Commit-Methode senden. Es gibt keine Möglichkeit, auf von Consumern eingefügte Zeilen im Rowset zuzugreifen und deren Werte zu ändern oder diese einzeln aus dem Rowset zu entfernen.

Massenkopierte Zeilen werden auf dem Server für SQL Server formatiert. Das Zeilenformat entspricht den Optionen, die eventuell für die Verbindung oder die Sitzung festgelegt wurden, wie z. B. ANSI_PADDING. Diese Option ist standardmäßig für jede Verbindung aktiviert, die über den SQL Server Native Client OLE DB-Anbieter hergestellt wird.

Weitere Informationen

IRowsetFastLoad (OLE DB)