Inserimento di ID univoco per il file caricato nel database utilizzando SqlBulkCopy

bulkinsert c# database sqlbulkcopy

Domanda

C'è una tabella con le seguenti colonne:

ProdID
Specification
Value

Ho un file CSV con uno schema che ha solo le ultime due colonne - Specification e Value . In altre parole sono le mie intestazioni CSV. Ora ho bisogno di associare i valori di questo file con un unico ID.

Il significato di quell'id è che è un riferimento al documento; non è importante qui, ma, per ora, si assume che sia richiesto dal sistema.

Ora mentre utilizzo la classe SqlBulkCopy da inserire c'è un modo in cui posso ancora inserire un valore per ProdID tale che ogni riga inserita abbia lo stesso ProdID per quel file che sto tentando di copiare in massa ...?

Risposta accettata

Dipende. se ProdID è un campo identity nel database, il database lo riempirà automaticamente quando si esegue la copia bulk.

Se non lo è, dovrai riempirlo da solo e passare le tre colonne a SqlBulkCopy , anziché solo a due.


Risposta popolare

Dovresti fare qualcosa sulle linee del seguente codice:

string cmdTxt = "SELECT " + ProdID + ", * FROM [sample.csv]";

Non importa dove posizioni il campo ProdID nella clausola select sopra; all'inizio o alla fine, otterrai il risultato impostato con ProdID come primo campo ...



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow