首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

Oledb Excel 读取失败,该如何解决

2013-07-08 
Oledb Excel 读取失败使用oledb的方式读取使用excel数据,大部分时间使用正常,但有时会发生不能读取的情况,

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

各位能否给点解决建议?
[解决办法]
你的EXCEL文件放在哪儿了?

不能放在你的网站的根目录下。

那样容易悲剧 放在别的盘中 IIS 要重新编译整个网站的。。

我以前项目就是这个问题。。

你要GC 
释放相关资源
[解决办法]

如果确定不是权限问题。。

那就要自己仔细检查代码了。。。
[解决办法]

引用:
不能放在你的网站的根目录下。

那样容易悲剧 


同悲过
[解决办法]
可能是代码的问题
[解决办法]
读取的时候可能是出现了错误,然后OleDbConnection就没有关闭。你应该确保无论出现什么错误,都保证OleDbConnection关闭
[解决办法]
最好跟踪一下异常发生的原因
修改代码,保证发生异常后能及时关闭所有连接并释放资源~
[解决办法]
给出code
给出exception 信息,方便大家分析
[解决办法]
都是大婶级的  有意思
[解决办法]
引用:
引用:
读取的时候可能是出现了错误,然后OleDbConnection就没有关闭。你应该确保无论出现什么错误,都保证OleDbConnection关闭


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

读的数据量大吗?  考虑 加个 CommandTimeout那?
也要看看 你的目录问题
[解决办法]
检查是否有资源未能释放,记录异常
一旦失败,整个系统OleDb读取都会失败?Microsoft.Jet.OLEDB.4.0引擎暴了?

Microsoft.Jet.OLEDB.4.0对x64位支持不是很好,有时候会出问题,如果是x64
在项目的属性中,把“生成”中的“目标平台”从“Any CPU”改成“x86”,再重新编译就可以了。

[解决办法]
这个很是奇怪了。有没有监视到,字符超长的。
可以做下限制。
1,保证连接池用完就关闭
2,加超时限制
3,指定宽度

热点排行