繁体   English   中英

没有为一个或多个所需的参数提供值OLEDB异常

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM