Come inserire una colonna con un valore specifico nella copia bulk di sql

c# sqlbulkcopy sql-server-2008

Domanda

Sto compilando una tabella con i valori in Excel utilizzando la copia bulk di sql in c #.

DataTable dt = new DataTable();

string line = null;
int i = 0;

using (StreamReader sr = File.OpenText(@"c:\temp\table1.csv"))
{  
      while ((line = sr.ReadLine()) != null)
      {
            string[] data = line.Split(',');
            if (data.Length > 0)
            {
                  if (i == 0)
                  {
                  foreach (var item in data)
                  {
                        dt.Columns.Add(new DataColumn());
                  }
                  i++;
             }
             DataRow row = dt.NewRow();
             row.ItemArray = data;
             dt.Rows.Add(row);
             }
      }
}


using (SqlConnection cn = new SqlConnection(ConfigurationManager.ConnectionStrings["ConsoleApplication3.Properties.Settings.daasConnectionString"].ConnectionString))
{
      cn.Open();
      using (SqlBulkCopy copy = new SqlBulkCopy(cn))
      {
            copy.ColumnMappings.Add(0, 0);
            copy.ColumnMappings.Add(1, 1);
            copy.ColumnMappings.Add(2, 2);
            copy.ColumnMappings.Add(3, 3);
            copy.ColumnMappings.Add(4, 4);
            copy.DestinationTableName = "Censis";
            copy.WriteToServer(dt);
      }
} 

Nel codice sopra, sto inserendo i record da Excel nella tabella. Ma, ho ancora una colonna "ProcessID" nella tabella Censis. Per ogni periodo di tempo, ho bisogno di generare un GUID e popolare questa colonna con questo.

Qualcuno può aiutarmi a popolare la colonna ProcessID quando eseguo la copia bulk come sopra con un GUID generato per tutte le righe per quella esecuzione?

Risposta popolare

Quando fai il tuo inserimento nel database usa la funzione newsequentialid



Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché
Autorizzato sotto: CC-BY-SA with attribution
Non affiliato con Stack Overflow
È legale questo KB? Sì, impara il perché