C# OLEDB连接关闭方法执行时间长
我正在使用上述代码阅读excel。但它卡在了excel.Close()上;等待几秒钟,然后转到下一个语句。这会导致页面上的处理延迟。有什么建议吗 更新我的问题以提供更多细节 测试用例:- 我上传了一个xls文件,这需要正常的时间。 我上传了一个xlsx文件,它在connExcel.close()处暂停了25秒。 现在我上传了一个xls文件,它也停止了xls 我使用了以下连接字符串 对于xls:- connectionString=“Provider=Microsoft.Jet.OLEDB.4.0;数据源={0}; 扩展属性='Excel 8.0;HDR={1}' 对于xlsx:- connectionString=“Provider=Microsoft.ACE.OLEDB.12.0;数据源={0};C# OLEDB连接关闭方法执行时间长,c#,excel,oledbconnection,C#,Excel,Oledbconnection,我正在使用上述代码阅读excel。但它卡在了excel.Close()上;等待几秒钟,然后转到下一个语句。这会导致页面上的处理延迟。有什么建议吗 更新我的问题以提供更多细节 测试用例:- 我上传了一个xls文件,这需要正常的时间。 我上传了一个xlsx文件,它在connExcel.close()处暂停了25秒。 现在我上传了一个xls文件,它也停止了xls 我使用了以下连接字符串 对于xls:- connectionString=“Provider=Microsoft.Jet.OLEDB.4.0
extendedproperties='excel8.0;HDR={1}'可能的重复请尝试以下答案中的解决方案:嗨,Ahmad,这是一个c代码,只需在Excel中读取EmailID。它不需要多线程。它只是停留在excel.Close()上;20-40秒,然后给出输出。我在服务器上运行相同的代码,工作正常。但在本地机器上,它引起了问题。我使用的是visual studio express edition。@Chandikumar Hi Chandik您找到过解决方案吗?可能是重复的,请尝试以下答案中的解决方案:Hi Ahmad,这是一个c#代码,仅在excel中读取EmailID。它不需要多线程。它只是停留在excel.Close()上;20-40秒,然后给出输出。我在服务器上运行相同的代码,工作正常。但在本地机器上,它引起了问题。我使用的是visual studio express edition。@Chandikumar Hi Chandik您找到解决方案了吗?
conStr = String.Format(conStr, FilePath, isHDR);
OleDbConnection connExcel = new OleDbConnection(conStr);
OleDbCommand cmdExcel = new OleDbCommand();
OleDbDataAdapter oda = new OleDbDataAdapter();
DataTable dt = new DataTable();
cmdExcel.Connection = connExcel;
//Get the name of First Sheet
connExcel.Open();
DataTable dtExcelSchema;
dtExcelSchema = connExcel.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
string SheetName = dtExcelSchema.Rows[0]["TABLE_NAME"].ToString();
connExcel.Close();