[英]No value given for one or more required Parameter OLEDB Exception
以前我的代码可以正常工作,但是现在抛出错误:
No value given for one or more required Parameter OLEDB Exception
码:
string excelConnectionString = string.Empty;
OleDbConnection excelConnection;
try
{
if (Request.Files["FileUpload"].ContentLength > 0)
{
string extension = System.IO.Path.GetExtension(Request.Files["FileUpload"].FileName);
String fileName = System.IO.Path.GetFileName(Request.Files["FileUpload"].FileName);
if (extension == ".xls" || extension == ".xlsx")
{
string currentPath = System.IO.Path.GetFullPath(Request.Files["FileUpload"].FileName);
{
string mappedUploadPath = string.Format("{0}\\{1}", Server.MapPath("~/Content/UploadedFolder"), fileName);
if (System.IO.File.Exists(mappedUploadPath))
System.IO.File.Delete(mappedUploadPath);
Request.Files["FileUpload"].SaveAs(mappedUploadPath);
// Create connection string to Excel work book
excelConnectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + mappedUploadPath + ";Extended Properties=\"Excel 12.0;HDR=Yes;IMEX=1\"";
//Creating an entityconnection
using (EntityConnection sqlConnectionString =
new EntityConnection(System.Configuration.ConfigurationManager.ConnectionStrings["DB"].ConnectionString))
{
excelConnection = new OleDbConnection(excelConnectionString);
excelConnection.Open();
OleDbDataReader dReader;
//Create OleDbCommand to fetch data from Excel
//PromotionMaster
OleDbCommand cmd = new OleDbCommand("Select [SKU],[SupplierId],[Price],[Validity],[LastUpdated],[EnteredBy],[Quantity],[CrediteTermId],[Approved],[DeliveryDate],[ETA],[CommModeId] from [Sheet1$]", excelConnection);
dReader = cmd.ExecuteReader();
SqlBulkCopy sqlBulkPromotionMaster = new SqlBulkCopy(((SqlConnection)sqlConnectionString.StoreConnection).ConnectionString);
sqlBulkPromotionMaster.DestinationTableName = "TempPriceList";
sqlBulkPromotionMaster.ColumnMappings.Add("SKU", "SKU");
sqlBulkPromotionMaster.ColumnMappings.Add("SupplierId", "SupplierId");
sqlBulkPromotionMaster.ColumnMappings.Add("Price", "Price");
sqlBulkPromotionMaster.ColumnMappings.Add("Validity", "Validity");
sqlBulkPromotionMaster.ColumnMappings.Add("LastUpdated", "LastUpdated");
sqlBulkPromotionMaster.ColumnMappings.Add("EnteredBy", "EnteredBy");
sqlBulkPromotionMaster.ColumnMappings.Add("Quantity", "Quantity");
sqlBulkPromotionMaster.ColumnMappings.Add("CrediteTermId", "CrediteTermId");
sqlBulkPromotionMaster.ColumnMappings.Add("Approved", "Approved");
sqlBulkPromotionMaster.ColumnMappings.Add("DeliveryDate", "DeliveryDate");
sqlBulkPromotionMaster.ColumnMappings.Add("ETA", "ETA");
sqlBulkPromotionMaster.ColumnMappings.Add("CommModeId", "CommModeId");
sqlBulkPromotionMaster.WriteToServer(dReader);
TempData["alertMessage"] = "Data Stored Successfully of PromotionMaster";
excelConnection.Close();
}
}
}
}
return RedirectToAction("LoadPriceExcel");
}
catch (Exception e)
{
GC.Collect();
TempData["alertMessage"] = "Exception Occured";
return RedirectToAction("LoadPriceExcel");
}
}
dReader = cmd.ExecuteReader(); 在这里抛出异常没有为一个或多个必需参数给出值。
Excel中的所有字段均与表完全匹配。
以前它在工作,现在却抛出错误。
检查您的第一行(A1:ZZ1)是否具有表的标题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.