CSV İçeriği: Herhangi bir iyi CSV içe aktarma aracını bilen var mı?

C # 'da SQL Server tablolarına içe aktarım gereken birkaç CSV var. Bunu daha önce yaptım ama oldukça sıkıcı ve sıkıcı buldum.

Bu süreci hızlandırmak için herhangi bir araç veya yöntem bilen var mı?

Hepinize teşekkürler!

0

6 cevap

Eğer C# ile yapmanız gerekiyorsa, o zaman FileHelpers veya http://www.codeproject.com/KB/cs/CsvReaderAndWriter.aspx .

Eğer SQL (BULK INSERT) üzerinden yapmak istiyorsanız, buradan önce (kaynak dahil) bakınız. http://blog.sqlauthority.com/2008/02/06/sql-server-import-csv dosyası-sql-sunucu-kullanarak-toplu-insert-load-virgülle ayrılmış dosya-sql-server/ (MSDN başvuru http://msdn.microsoft.com/en-us/library/ms188365.aspx ).

Bununla birlikte, SQL Server Alma Sihirbazını kullanarak etkileşimli olarak daha kolay bir seçenek vardır. az sayıda dosya.

2
katma

SQL Server Management Studio, on the database under Right Click -> Tasks -> Import Data... can consume CSV files.

C # ile yapmanız gerekiyorsa, etrafınızda çok sayıda CSV okuyucu ve yazar var:

http://www.codeproject.com/KB/cs/CsvReaderAndWriter.aspx

Buradan sadece DataTable ve SqlBulkCopy 'e atla.

1
katma

Csv'nin şu şekilde yapılandırıldığı varsayılmaktadır:

  • Bir satır bir giriş
  • Alanları ayırmak için bölünmüş karakter, her satırın ilk konumunda.

Ben bu şekilde yapardım:

var lines = File.ReadAllLines("");

foreach (string line in lines)
{
    var values = line.Split(new[] { line[0] }, StringSplitOptions.None);
}
0
katma
Ancak bu, kayıtları gerçekten db'ye eklemiyor.
katma yazar Daren Thomas, kaynak
@DarenThomas haklısın, bunu okumadım.
katma yazar Fischermaen, kaynak

FileHelpers kitaplığı, kod aracılığıyla bu tür şeyler yapmak için harika.

0
katma

SQL Server Entegrasyon Hizmetleri (SSIS) Microsoft'un ETL aracıdır ve CSV dosyalarını kolayca yönetir.

0
katma