Member 12671557 Ответов: 1

Массовая вставка данных Excel в базу данных Oracle с помощью Oracle.удалось.доступа к данным.клиент, используя c#.net


Необходимо загрузить файл excel(datatable/dataset), содержащий n записей, в базу данных oracle с помощью Oracle.Управляемый.Доступа к данным.Использование клиента C#.net

Что я уже пробовал:

Похоже, что Управляемый доступ к данным не поддерживает массовую вставку данных. Но не уверен, что там могут быть какие-то идеи

Foothill

Если вы найдете массовую вставку Oracle, обязательно поделитесь ею. Если вы этого не сделаете, вы всегда можете многопоточно выполнить процесс вставки, чтобы сделать его намного быстрее.

1 Ответов

Рейтинг:
0

The Praveen Singh

Использовать это

protected void btnUpload_Click(object sender, EventArgs e)  
{  
 try  
 {  
    if (fUpload.HasFile)  
     {  
        string Path = Server.MapPath(fUpload.FileName);  
        FillDatasetExcel(Path);  
     }  
 }  
 catch (Exception ex)  
 {  
   throw ex;  
 }  
}  
public DataTable FillDatasetExcel(string filepath)  
{  
  string path = filepath;  
  // Prepare cnnection string  
  string connectionstring =  
 @"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + path + ";Extended Properties='Excel 12.0 Xml;HDR=YES;FMT=Delimited';";  
 byte[] Bytes = fUpload.FileBytes;  
  File.WriteAllBytes(path, Bytes);  
  OleDbConnection connection = new OleDbConnection();  
  connection.ConnectionString = connectionstring;  
  OleDbCommand command = new OleDbCommand();  
  command.CommandType = CommandType.Text;  
  command.Connection = connection;  
  command.CommandText = "Select * FROM [Sheet1$]";  
  connection.Open();  
  // create data table object  
  DataTable dt = new DataTable();  
  // Execute Reader and load the data into datatable  
  dt.Load(command.ExecuteReader());  
  // Close the connection  
  connection.Close();  
  return dt;  
}  
}