“Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册

时间:2011-06-01 11:45:33

标签: c# asp.net windows-server-2008

我正在尝试在asp.net网站上传一个excel文件,并将这些字段处理成数据集 进一步的操作。但我得到的信息如上所述。

我尝试过其他异常选项 - 会列出那些

ex.message - “Microsoft.Jet.OLEDB.4.0”提供程序未在本地计算机上注册。

ex.Source - App_Web_-we0qvgj

ex.StackTrace -

  

在   frmStudentExcelRegistration.ExcelToDataset(字符串   FileName)in   C:\的Inetpub \ wwwroot的\ CATALYST_SECONDARY \页数\ frmStudentExcelRegistration.aspx.cs:线   449在   frmStudentExcelRegistration.btnExcelUpload_Click(对象   发件人,EventArgs e)in   C:\的Inetpub \ wwwroot的\ CATALYST_SECONDARY \页数\ frmStudentExcelRegistration.aspx.cs:线   488

     

ex.TargetSite - System.Data.DataSet   ExcelToDataset(System.String)

操作系统是Windows Server 2008。

我浏览了一些论坛,他们告诉我们在IIS管理器中更改应用程序池默认设置以允许32位应用程序。在这样做后,我收到错误消息 -

“viewstate MAC验证失败。如果此应用程序由Web场或群集托管,请确保配置指定相同的validationKey和验证算法。无法在群集中使用AutoGenerate。”

任何人都可以帮忙......?

3 个答案:

答案 0 :(得分:1)

您的Excel将作为数据集打开。这需要MS Jet引擎(它是MDAC的一部分)。

在此处下载:http://support.microsoft.com/default.aspx?scid=kb;EN-US;q239114

ViewState消息不相关,是由重新启动服务器(以及从重新启动之前打开的浏览器会话中回发)引起的。

答案 1 :(得分:1)

默认安装JET引擎 - 但是,它仅为32位。当您以64位模式运行应用程序时,会出现问题。我在桌面应用程序中遇到了同样的问题。

在创建ASP.NET应用程序时,更改应用程序池是正确的方法。正如所说,ViewState消息与此无关。

答案 2 :(得分:0)