Sqlserver
 sql >> डेटाबेस >  >> RDS >> Sqlserver

पंक्ति दर पंक्ति के बजाय एक बार में संपूर्ण डेटाटेबल को डेटाबेस में सम्मिलित करें?

मैंने पाया कि SqlBulkCopy ऐसा करने का एक आसान तरीका है, और इसके लिए SQL सर्वर में संग्रहीत कार्यविधि लिखने की आवश्यकता नहीं है।

मैंने इसे कैसे कार्यान्वित किया इसका एक उदाहरण यहां दिया गया है:

// take note of SqlBulkCopyOptions.KeepIdentity , you may or may not want to use this for your situation.  

using (var bulkCopy = new SqlBulkCopy(_connection.ConnectionString, SqlBulkCopyOptions.KeepIdentity))
{
      // my DataTable column names match my SQL Column names, so I simply made this loop. However if your column names don't match, just pass in which datatable name matches the SQL column name in Column Mappings
      foreach (DataColumn col in table.Columns)
      {
          bulkCopy.ColumnMappings.Add(col.ColumnName, col.ColumnName);
      }

      bulkCopy.BulkCopyTimeout = 600;
      bulkCopy.DestinationTableName = destinationTableName;
      bulkCopy.WriteToServer(table);
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. बड़ी तालिकाओं पर SQL सर्वर क्वेरी प्रदर्शन में सुधार करें

  2. nvarchar(MAX) में अधिकतम कितने वर्ण होंगे?

  3. SQL सर्वर (T-SQL) में मौजूदा तालिका पर संपीड़न कैसे सक्षम करें

  4. टी-एसक्यूएल डायनेमिक एसक्यूएल और टेम्प टेबल्स

  5. यदि एक ही कथन में दो बार उपयोग किया जाता है तो क्या GETUTCDATE() वही मान लौटाएगा?