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

SQL सर्वर पर CSV फ़ाइल अपलोड करें

पहली बार, आपको प्रोग्रामिंग सामग्री की आवश्यकता नहीं है। आप SQL प्रबंधन टूल के साथ CSV फ़ाइलों को सीधे SQL डेटाबेस में अपलोड कर सकते हैं। हालांकि, अगर आपको वास्तव में प्रोग्रामिंग के माध्यम से इसे करने की ज़रूरत है, तो बस नीचे पढ़ें।

व्यक्तिगत रूप से, मुझे लगता है कि यह दृष्टिकोण प्रोग्रामिंग के माध्यम से करने का सबसे कुशल और आसान तरीका है।

सामान्य तौर पर, आप इसे दो चरणों में प्राप्त कर सकते हैं

पहला कदम CSV फ़ाइल को पढ़ना और रिकॉर्ड को DataTable . के रूप में रखना है .
दूसरा चरण पुनर्प्राप्त DataTable को संग्रहीत करता है SQL डेटाबेस तालिका में एक थोक प्रविष्टि के रूप में

यह एक फ़ंक्शन है जो CSV फ़ाइल डेटा को DataTable . के रूप में लौटाता है . कॉल करें और इसे मेमोरी में रखें और आप इसके साथ जो चाहें कर सकते हैं।

यह फ़ंक्शन CSV रीड फ़ाइल को डेटाटेबल में वापस करने जा रहा है।

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 - पुनर्प्राप्त डेटाटेबल को 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);
         }
     }

स्रोत



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. कैसे एक varchar autoincrement करने के लिए

  2. SQL सर्वर में एक समग्र प्राथमिक कुंजी कैसे बनाएं (T-SQL उदाहरण)

  3. SQL सर्वर में हैंडलिंग तिथि

  4. SQL सर्वर में PRINT स्टेटमेंट का अवलोकन

  5. डिग्री () SQL सर्वर में उदाहरण