Condividi tramite


IRowsetFastLoad::InsertRow (OLE DB)

Aggiunge una riga al set di righe della copia bulk. Per gli esempi, vedere Eseguire una copia bulk dei dati usando IRowsetFastLoad (OLE DB) e Inviare dati BLOB a SQL Server usando IROWSETFASTLOAD e ISEQUENTIALSTREAM (OLE DB).

Sintassi

  
HRESULT InsertRow(  
HACCESSOR  
hAccessor  
,  
void*  
pData  
);  
  

Argomenti

hAccessor[in]
Handle della funzione di accesso che definisce i dati delle righe per la copia bulk. La funzione di accesso a cui viene fatto riferimento è una funzione di accesso di riga, che specifica l'associazione alla memoria del consumer contenente valori di dati.

pData[in]
Puntatore alla memoria del consumer contenente valori di dati. Per altre informazioni, vedere le strutture DBBINDING.

Valori del codice restituito

S_OK
Il metodo è riuscito. I valori di stato associati per tutte le colonne hanno il valore DBSTATUS_S_OK o DBSTATUS_S_NULL.

E_FAIL
Si è verificato un errore. Le informazioni sull'errore sono disponibili nelle interfacce degli errori del set di righe.

E_INVALIDARG
L'argomento pData è stato impostato su un puntatore NULL.

E_OUTOFMEMORY
SQLNCLI11 non è stato in grado di allocare memoria sufficiente per completare la richiesta.

E_UNEXPECTED
Il metodo è stato chiamato su un set di righe della copia bulk precedentemente invalidato dal metodo IRowsetFastLoad::Commit.

DB_E_BADACCESSORHANDLE
L'argomento hAccessor specificato dal consumer non è valido.

DB_E_BADACCESSORTYPE
La funzione di accesso specificata non è una funzione di accesso di riga o non specifica la memoria del consumer.

Osservazioni

Un errore durante la conversione dei dati consumer nel tipo di dati SQL Server per una colonna causa un E_FAIL restituito dal provider OLE DB SQL Server Native Client. I dati possono essere trasmessi a SQL Server con qualsiasi metodo InsertRow o solo con il metodo Commit. L'applicazione consumer può chiamare il metodo InsertRow diverse volte usando i dati errati prima di ricevere un avviso relativo all'errore di conversione del tipo di dati. Poiché il metodo Commit verifica che tutti i dati vengano specificati correttamente dal consumer, se necessario, il consumer può usare Commit in modo appropriato per convalidare i dati.

I set di righe di copia bulk del provider OLE DB SQL Server Native Client sono di sola scrittura. Il provider OLE DB SQL Server Native Client non espone metodi che consentono la query consumer del set di righe. Per terminare l'elaborazione, il consumer può rilasciare il riferimento all'interfaccia IRowsetFastLoad senza chiamare il metodo Commit. Non sono disponibili funzioni per accedere alle righe inserite dal consumer nel set di righe e modificarne i valori o per rimuoverle singolarmente dal set di righe.

Le righe oggetto di copia bulk vengono formattate sul server per SQL Server. Le opzioni eventualmente impostate per la connessione o per la sessione, ad esempio ANSI_PADDING, influiscono sul formato di riga. Questa opzione è impostata su per impostazione predefinita per qualsiasi connessione effettuata tramite il provider OLE DB SQL Server Native Client.

Vedere anche

IRowsetFastLoad (OLE DB)