使用oledb的方式读取使用excel数据,大部分时间使用正常,但有时会发生不能读取的情况,一旦不能读取,整个系统中通过oledb读取excel都不行了。
网上也查了一下,应该不是权限的问题。当不能读取时,重启机器可解决问题,但不是长久之计。
怀疑类似于文件被打开,卡在系统中没有关闭,而无法读取造成的。
也检查了一下读取excel的代码,都有写释放的代码。各位能否给点解决建议?

解决方案 »

  1.   

    你的EXCEL文件放在哪儿了?不能放在你的网站的根目录下。那样容易悲剧 放在别的盘中 IIS 要重新编译整个网站的。。我以前项目就是这个问题。。你要GC 
    释放相关资源
      

  2.   

    读取的时候可能是出现了错误,然后OleDbConnection就没有关闭。你应该确保无论出现什么错误,都保证OleDbConnection关闭
      

  3.   


    都写了finally,做了close(), dispose(),就能保证都关闭了?
    如果这样,我就把代码再查查是否有漏的地方。
      

  4.   

    给出code
    给出exception 信息,方便大家分析
      

  5.   

    读的数据量大吗?  考虑 加个 CommandTimeout那?
    也要看看 你的目录问题
      

  6.   

    检查是否有资源未能释放,记录异常
    一旦失败,整个系统OleDb读取都会失败?Microsoft.Jet.OLEDB.4.0引擎暴了?Microsoft.Jet.OLEDB.4.0对x64位支持不是很好,有时候会出问题,如果是x64
    在项目的属性中,把“生成”中的“目标平台”从“Any CPU”改成“x86”,再重新编译就可以了。
      

  7.   

    我的问题和楼主一样错误信息如下:
    No error message available, result code: E_UNEXPECTED(0x8000FFFF).我也不知道该怎么解决,求科普
      

  8.   

    我的问题只出现在服务器,本地系统一切正常。不能读取的情况也是偶尔出现,一旦出现,一段时间内将一直不能读取。我怀疑是oledb驱动有问题