相关疑难解决方法(0)

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

我们在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 …

c# asp.net oledb excel exception

5
推荐指数
1
解决办法
3万
查看次数

标签 统计

asp.net ×1

c# ×1

excel ×1

exception ×1

oledb ×1