Condividi tramite


IRowsetFastLoad::InsertRow (OLE DB)

Aggiunge una riga al set di righe della copia bulk.

Sintassi

HRESULT InsertRow(
      HACCESSOR hAccessor,
      void* pData);

Argomenti

  • hAccessor[in]
    Handle della funzione di accesso che definisce i dati di riga 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 ulteriori informazioni, vedere DBBINDING Structures.

Valori di codice restituiti

  • 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
    SQLNCLI10 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 di conversione dei dati del consumer nel tipo di dati di SQL Server per una colonna causa la restituzione di E_FAIL dal provider OLE DB di 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 utilizzando 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ò utilizzare tale metodo in modo appropriato per convalidare i dati.

I set di righe della copia bulk del provider OLE DB di SQL Server Native Client sono di sola scrittura. Il provider OLE DB di SQL Server Native Client non espone alcun metodo che consenta la specifica di query di tipo 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 viene attivata per impostazione predefinita per qualsiasi connessione stabilita tramite il provider OLE DB di SQL Server Native Client.

Vedere anche

Altre risorse