OleDbConnection关闭方法需要很长的执行时间

时间:2015-07-02 09:31:05

标签: c# excel oledbconnection

        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();

我使用上面的代码来读取excel。但它停留在connExcel.Close();几秒钟,然后转到下一个声明。这导致页面上的后期处理。有什么建议??

更新我的问题以提供更多详情。

测试用例: - 我上传了一个正常时间的xls文件。 我上传了一个xlsx文件,它在connExcel.close()停止了25秒。 现在我上传了一个xls文件,它也停止了xls。

我使用了以下连接字符串

表示xls: -          connectionString =" Provider = Microsoft.Jet.OLEDB.4.0; Data Source = {0};                          扩展属性=' Excel 8.0; HDR = {1}'"

表示xlsx: -          connectionString =" Provider = Microsoft.ACE.OLEDB.12.0; Data Source = {0};                          扩展属性=' Excel 8.0; HDR = {1}'"

0 个答案:

没有答案