PostgreSQL
 sql >> Teknologi Basis Data >  >> RDS >> PostgreSQL

C# massal dapat didata ke tabel postgresql

PostgreSQL pasti memiliki salinan massal (sebenarnya disebut copy ), dan memiliki pembungkus yang bagus untuk .NET. Jika Anda memuat, Anda ingin menggunakan NpgsqlCopyIn , dan jika Anda mengekstrak data, Anda dapat menggunakan NpgsqlCopyOut.

Pertanyaan Anda agak kabur tentang detail -- Saya tidak tahu bidang dalam datatable Anda atau apa pun tentang database Anda yang sebenarnya, jadi ambil ini sebagai contoh singkat tentang cara menyisipkan data secara massal ke dalam tabel menggunakan C#/PostgreSQL:

    NpgsqlCopyIn copy = new NpgsqlCopyIn("copy table1 from STDIN WITH NULL AS '' CSV;",
        conn);
    copy.Start();

    NpgsqlCopySerializer cs = new NpgsqlCopySerializer(conn);
    cs.Delimiter = ",";

    foreach (var record in RecordList)
    {
        cs.AddString(record.UserId);
        cs.AddInt32(record.Age);
        cs.AddDateTime(record.HireDate);
        cs.EndRow();
    }

    cs.Close();
    copy.End();

-- Sunting 27/8/2019 --

Konstruksi untuk Npgsql telah sepenuhnya berubah. Di bawah ini adalah boilerplate untuk contoh yang sama di atas, menggunakan impor biner (teks juga tersedia):

using (var writer = conn.BeginBinaryImport(
    "copy user_data.part_list from STDIN (FORMAT BINARY)"))
{
    foreach (var record in RecordList)
    {
        writer.StartRow();
        writer.Write(record.UserId);
        writer.Write(record.Age, NpgsqlTypes.NpgsqlDbType.Integer);
        writer.Write(record.HireDate, NpgsqlTypes.NpgsqlDbType.Date);
    }

    writer.Complete();
}


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Ekstrak detik dari tabel interval / Cast record ke interval?

  2. 7 Cara Menemukan Baris Duplikat di PostgreSQL sambil Mengabaikan Kunci Utama

  3. Bagaimana Anda bisa menghapus atau mengubah kueri jumlah pagination cakephp di postgresql?

  4. dapatkah Anda menggunakan perpustakaan di PL/Perl

  5. Kunci Asing untuk hubungan satu-ke-semua