2015-12-13 2 views
-1

Я пытаюсь импортировать данные из Excel в SQL Server 2008 R2. Использование поставщика OLEDB. Я использую Visual Studio 2010. Поставщик ACE.OLEDB не зарегистрирован в моей Visual Studio. У меня есть 100 000 записей в моем Excel, но он копирует только 65535. Ниже мой код:Импорт 100 000 строк данных из Excel в базу данных с использованием C#

namespace WebApplication1 
{ 
public partial class Upload_page : System.Web.UI.Page 
{ 
    protected void Page_Load(object sender, EventArgs e) 
    { 

    } 
    protected void btnUpload_Click(object sender, EventArgs e) 
    { 
     Response.Write("Working"); 
     string path = "path"; 
     OleDbConnection connection = null; 
     if (FileUpload1.HasFile) 
     { 
      path = string.Concat(Server.MapPath("~/Uploaded Folder/" + FileUpload1.FileName)); 
      FileUpload1.SaveAs(path); 
     } 
     path = "C:\\Users\\temp\\Documents\\visual studio 2010\\Projects\\WebApplication1\\WebApplication1\\Uploaded Folder\\TempReport.xls"; 
     try 
     { 
      string excelConnectionString = string.Format("Provider=Microsoft.jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0", path); 
      connection = new OleDbConnection(); 
      connection.ConnectionString = excelConnectionString; 
      OleDbCommand command = new OleDbCommand("select * from [ISO$]", connection); 
      connection.Open(); 
      // Create DbDataReader to Data Worksheet 
      DbDataReader dr = command.ExecuteReader(); 
      string sqlConnectionString = @"Initial Catalog=CensusTrack;Data Source=CWVQ-2K12E1D;Integrated Security=SSPI;"; 

      // Bulk Copy to SQL Server 
      SqlBulkCopy bulkInsert = new SqlBulkCopy(sqlConnectionString); 
      bulkInsert.BulkCopyTimeout = 0; 
      bulkInsert.BatchSize =0; 
      bulkInsert.DestinationTableName = "[dbo].[2015_ISO]"; 
      bulkInsert.WriteToServer(dr); 
      connection.Close(); 
      Response.Write("Completed"); 
      //Label1.Text = "Ho Gaya"; 
     } 

     catch (Exception obj) 
     { 
      connection.Close(); 

     } 
    } 

} 
} 

Может ли один помочь мне, так что я могу скопировать все данные из Excel в таблицу базы данных за один раз?

ответ

0

Вы можете напрямую использовать студию SQL Mgmt для импорта листов excel.

правой кнопкой мыши Выбор задач -> Импорт данных

Пожалуйста, см https://www.mssqltips.com/sqlservertutorial/203/simple-way-to-import-data-into-sql-server/

Также см этот вопрос Import Excel spreadsheet columns into SQL Server database

+0

Но вопрос он импортирует только 65535records остальные не получают импортирован – Swapna

+0

вы пробовали с Инструмент mgmt? – Amitd

Смежные вопросы