Microsoft Jet 数据库引擎打不开文件 ……它已经被别的用户以独占方式打开,或没有查看数据的权限

__畵沙o 2015-03-31 10:26:38
语言C#,代码对一个文件的多个sheet进行分次读取,读到某个sheet(不确定)的时候就可能报异常,非必现,但是CI上发生概率比较大,程序只读取不写入。出错程序退出后,任务管理器中没有发现excel进程。
excel文件为xls文件
请大虾们帮忙看下可能原因有哪些,因为不是必现,也不能调试,找不到原因,代码大概如下,之前没有adp.dispose(); 后面加上还是报错:

string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + excelFilePath + ";Extended Properties=\"Excel 8.0;HDR=YES;IMEX=1\"";
datatable dt = new datatable();
using(OleDbConnection Oleconn = new OleDbConnection(strConn))
{

strExcel = "select * from [sheet1$]";
OleDbDataAdapter adp= new OleDbDataAdapter(strExcel,Oleconn);
adp.fill(dt);
adp.dispose();
}
...全文
597 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
__畵沙o 2015-03-31
  • 打赏
  • 举报
回复
引用 1 楼 wjq 的回复:
你的xls文件已经被你用Excel打开了……
没有excel进程啊
wjq 2015-03-31
  • 打赏
  • 举报
回复
你的xls文件已经被你用Excel打开了……

110,499

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧