Cách import data csv vào sql server sử dụng c# (Import csv to sql server c#)

1/14/2021 9:42 AM | Lập trình

Đầu tiên, bạn không cần công cụ lập trình. Bạn có thể tải trực tiếp tệp CSV lên Cơ sở dữ liệu SQL bằng các công cụ quản lý SQL. Tuy nhiên, nếu bạn thực sự cần làm điều đó thông qua lập trình thì hãy tham khảo cách dưới đây.

Bước đầu tiên là đọc tệp CSV và giữ các bản ghi dưới dạng tệp DataTableBước
thứ 2 là lưu trữ DataTabledữ liệu được truy xuất vào Bảng cơ sở dữ liệu SQL dưới dạng Mục nhập hàng loạt

Đây là một hàm trả về Dữ liệu Tệp CSV dưới dạng DataTableGọi và Giữ nó trong bộ nhớ và bạn có thể làm bất cứ điều gì bạn muốn với nó.

Hàm này sẽ trả về tệp CSV Read vào DataTable.

private static DataTable GetDataTabletFromCSVFile(string csv_file_path)
    {
        DataTable csvData = new DataTable();
        try
        {
          using(TextFieldParser csvReader = new TextFieldParser(csv_file_path))
             {
                csvReader.SetDelimiters(new string[] { "," });
                csvReader.HasFieldsEnclosedInQuotes = true;
                string[] colFields = csvReader.ReadFields();
                foreach (string column in colFields)
                {
                    DataColumn datecolumn = new DataColumn(column);
                    datecolumn.AllowDBNull = true;
                    csvData.Columns.Add(datecolumn);
                }
                while (!csvReader.EndOfData)
                {
                    string[] fieldData = csvReader.ReadFields();
                    //Making empty value as null
                    for (int i = 0; i < fieldData.Length; i++)
                    {
                        if (fieldData[i] == "")
                        {
                            fieldData[i] = null;
                        }
                    }
                    csvData.Rows.Add(fieldData);
                }
            }
        }
        catch (Exception ex)
        {
           return null;
        }
        return csvData;
    }
  }

SQLBulkCopy - Sử dụng chức năng này để chèn DataTable Đã truy xuất vào Bảng Sql

static void InsertDataIntoSQLServerUsingSQLBulkCopy(DataTable csvFileData)
{
    using(SqlConnection dbConnection = new SqlConnection("Data Source=ProductHost;Initial Catalog=yourDB;Integrated Security=SSPI;"))
    {
         dbConnection.Open();
         using (SqlBulkCopy s = new SqlBulkCopy(dbConnection))
         {
             s.DestinationTableName = "Your table name";
             foreach (var column in csvFileData.Columns)
                 s.ColumnMappings.Add(column.ToString(), column.ToString());
             s.WriteToServer(csvFileData);
         }
     }

Bài viết liên quan: Cách xuất file csv từ list object sử dụng c#

Nguồn: stackoverflow.com

Tin tức khác

  • Cách dựng 1 website bằng iis.

    Cách dựng 1 website bằng iis.

    Có rất nhiều bạn làm web nhưng lại không biết cách build 1 site trên iis. Nên hôm nay mình sẽ chia sẻ các bước đơn giản để có thể dễ dàng tạo được 1 trang web bằng iis trên  server windows.

  • Build site PHP trên server windows.

    Build site PHP trên server windows.

    Mình đang quản trị các website asp.net nên việc build một website wordpress lên vps của mình gặp rất nhiều khó khăn. Và mình hỏi còn gặp những ý kiến như không thể build php và asp.net trên cùng một môi trường. Nhưng hôm nay mình đã làm được và chia sẻ lại cho mọi người. Nếu vẫn gặp khó khăn thì inbox cho mình nha. Thông tin nằm ở footer trang web.

  • Upload hình ảnh trong ckeditor asp.net

    Upload hình ảnh trong ckeditor asp.net

    Mình làm dự án và khách hàng yêu cầu thêm chức năng trong ckeditor. Nên cũng đọc, tìm kiếm share lại cho anh em có nhu cầu sử dụng nhé.

  • Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Microservice là gì? Ưu nhược điểm khi xài Microservice.

    Hôm bữa mình có viết 1 bài về tổng quan về abp framwork. Trong framework này cũng có nhắc tới cách sử dụng và demo về microservice. Hôm nay mình sẽ chia sẻ chi tiết hơn về microservice. Mọi người xem nhé

  • DNS là gì?

    DNS là gì?

    DNS là viết tắt của cụm từ Domain Name System, mang ý nghĩa đầy đủ là hệ thống phân giải tên miền. DNS được phát minh vào năm 1984 cho Internet, chỉ một hệ thống cho phép thiết lập tương ứng giữa địa chỉ IP và tên miền.

  • Cách download, upload file lên ftp sử dụng SftpClient Renci.SshNet

    Cách download, upload file lên ftp sử dụng SftpClient Renci.SshNet

    Hôm nay mình sẽ hướng dẫn các bạn thao tác check exits folder, file, cách upload file, download file, delete file từ ftp về máy local sử dụng thư viện SftpClient Renci.SshNet trong c#

  • Lập trình website có nhiều ngôn ngữ bằng google dịch sử dụng asp.net

    Lập trình website có nhiều ngôn ngữ bằng google dịch sử dụng asp.net

    Trong bài viết này, tôi sẽ thảo luận về công cụ chuyển đổi ngôn ngữ trong ASP.NET sử dụng plugin Website Translator miễn phí của Google. Plugin chuyển đổi ngôn ngữ của Google này là một công cụ rất mạnh mẽ sẽ chuyển đổi nội dung trang web của bạn sang các ngôn ngữ khác nhau trong vòng vài giây. Plugin này hỗ trợ hơn 90 ngôn ngữ.