Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Impor file CSV ke SQL Server menggunakan SqlBulkCopy

Saya kira Anda memiliki tabel di SQL Server yang Anda buat dengan cara ini:

CREATE TABLE [dbo].[Table1] (
    [Column1]   INT           IDENTITY (1, 1) NOT NULL,
    [Column2]   NVARCHAR (50) NOT NULL
);

file yang berisi nilai-nilai seperti itu:

Column1,Column2
1,N1
2,N2
3,N3

Jadi untuk memasukkan nilai secara massal ke tabel, Anda dapat menggunakan SqlBulkCopy begini:

var lines = System.IO.File.ReadAllLines(@"d:\data.txt");
if (lines.Count() == 0) return;
var columns = lines[0].Split(',');
var table = new DataTable();
foreach (var c in columns)
    table.Columns.Add(c);

for (int i = 1; i < lines.Count() - 1; i++)
    table.Rows.Add(lines[i].Split(','));

var connection = @"your connection string";
var sqlBulk = new SqlBulkCopy(connection);
sqlBulk.DestinationTableName = "Table1";
sqlBulk.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. Bagaimana cara meneruskan nilai ke parameter prosedur tersimpan di komponen Sumber OLE DB?

  2. Gunakan RAND() dalam Fungsi Buatan Pengguna

  3. Sintaks salah di dekat 'GO'

  4. Cara Menampilkan Tanggal dalam Format Jerman di SQL Server (T-SQL)

  5. Pemecahan Masalah Kesalahan Microsoft SQL Server 18456