找不到可安装的ISAM(在'throw ex;'line)

问题描述:

我试图上传csv文件并将数据保存到本地数据库中。但是当我运行我的代码时,它声明'找不到可安装的ISAM'。我不知道如何解决它。我已经研究过,大多数错误都与他们有关。但是我的代码被突出显示。找不到可安装的ISAM(在'throw ex;'line)

我该如何解决?

我的代码:

 const string CSV_CONNECTIONSTRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"csv;HDR=YES;FMT=Delimited\""; 


     string csvPath = Server.MapPath("~/Files1/"); 
     string fileName = Path.GetFileName(FileUpload1.PostedFile.FileName); 
     FileUpload1.SaveAs(Path.Combine(csvPath, fileName)); 
     var AllFiles = new DirectoryInfo(csvPath).GetFiles("*csv"); 
     string File_Name = string.Empty; 


     string ConString = ConfigurationManager.ConnectionStrings["ConnectionString"].ConnectionString; 

     for (int i = 0; i < AllFiles.Length; i++) 
     { 
      try 
      { 
       File_Name = AllFiles[i].Name; 
       DataTable dt = new DataTable(); 
       using (OleDbConnection con = new OleDbConnection(string.Format(CSV_CONNECTIONSTRING, csvPath))) 
       { 
        using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [Mcsv]", con)) 
        { 
         da.Fill(dt); 
        } 
       } 
       using (SqlBulkCopy bulkCopy = new SqlBulkCopy(ConString)) 
       { 
        bulkCopy.ColumnMappings.Add(0, "medicine_id"); 
        bulkCopy.ColumnMappings.Add(1, "category_id"); 
        bulkCopy.ColumnMappings.Add(2, "subcategory_id"); 
        bulkCopy.DestinationTableName = "medicine"; 
        bulkCopy.BatchSize = dt.Rows.Count; 
        bulkCopy.WriteToServer(dt); 
        bulkCopy.Close(); 
       } 
      } 
      catch (System.Exception ex) 
      { 
       throw ex; 
      } 

证明是在错误 '扔恩;'

+0

有很多不使用ado.net –

+0

我仍然不明白CSV解析器.. – user8090359

你的问题是与连接字符串。不同的代码片段会突出显示,因为您有一个异常处理程序,它在尝试使用连接并重新抛出它时捕获了异常。

在连接字符串,更改csvtext

const string CSV_CONNECTIONSTRING = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=\"{0}\";Extended Properties=\"text;HDR=YES;FMT=Delimited\""; 

这应该可以解决找不到可安装ISAM错误。

接下来,您可能会收到无法找到Mcsv.txt的错误。在SELECT语句中,将[Mcsv]更改为您想要读取的文件名。

using (OleDbDataAdapter da = new OleDbDataAdapter("SELECT * FROM [" + File_Name + "]", con)) 
+0

MCSV是文件。我以前也有过mcsv.txt问题,我在连接字符串中将文本更改为csv。现在,我用.txt格式创建了另一个与csv文件相同内容的文件,但是,我尝试读取它,但是错误仍然显示它找不到file.txt – user8090359

+0

哦等等!我复制你的确切代码,它的工作^^谢谢@詹姆斯xD – user8090359