当前位置:  开发笔记 > 编程语言 > 正文

C#/ ASP.NET Oledb - MS Excel读取"未指定的错误"

如何解决《C#/ASP.NETOledb-MSExcel读取"未指定的错误"》经验,为你挑选了0个好方法。

我们在Windows Server 2003 Enterprise Edition上的IIS 6上运行了一个C#/ ASP.NET(2.0)应用程序.此应用程序使用OleDb读取Excel文件,但有些情况下我们从应用程序中抛出"未指定的错误"异常.

在打开之前,文件由我们的文件上传代码存储在临时目录中.由于我们在IIS中启用了匿名访问,并且由于我们还在web.config中使用模拟,因此文件夹C:\ Windows\Temp \具有能够创建的Internet来宾用户帐户(IUSR_ [MachineName])的适当权限,修改和删除那里的文件.

OleDb连接字符串:
Provider = Microsoft.Jet.OLEDB.4.0; Data Source = C:\ Windows\Temp\tmp123.tmp.xls;
扩展属性="Excel 8.0; HDR =是; IMEX = 1;"

[上面的"数据源"属性将针对每个文件进行更改.]

The stack trace of the exception is:
    System.Exception: FileParsingFailed ---> System.Data.OleDb.OleDbException:  
    Unspecified error at  
    System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr,  
    OleDbConnection connection) at  
    System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options,   
    Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) at  
    System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection  
    owningConnection, DbConnectionPoolGroup poolGroup) at  
    System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection  
    owningConnection) at  
    System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection  
    outerConnection, DbConnectionFactory connectionFactory) at  
    System.Data.OleDb.OleDbConnection.Open()  

解决方法:
到目前为止,我们可以提出的唯一解决方法是执行iisreset(我们还将应用程序池回收配置为每天在IIS中执行一次,但它似乎没有帮助,因为问题有时会连续几天持续存在).虽然这不是一件好事,但更糟糕的是,我们在同一网站上有其他应用程序,每当我们重置IIS时都会受到影响.

问题:
1.我们如何解决这个错误,因为它偶尔发生,我们没有看到一个模式?
2.除了OleDb之外,还有更好(和免费)的方法来处理来自C#/ ASP.NET的Excel文件吗?(我们不希望在服务器上安装MS Office,因为它不是微软推荐的)

我们的局限性:
1.我们坚持使用MS Office 2003(.xls)格式,无法转向MS Office 2007(OOXML)格式.
2.我们不使用CSV的原因是因为我们的数据中可能有逗号(即使我们使用引用也很难处理),我们在电子表格中也使用了多个工作表(这不能用CSV完成) .

谢谢!:)

更新:
谢谢,基思.它似乎与Jet引擎有关,但我们使用它是因为缺乏(免费且易于使用)替代品.
谢谢,乔.但我们的预算有限 - 所以我们主要是寻找免费的工具/库.

推荐阅读
依然-狠幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有