未注册Microsoft.ACE.OLEDB.12.0提供程序
最近在通过ASP.NET导入excel表的时候出现了错误(注意本来是正常的):
System.InvalidOperationException: 未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
在 System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper)
在 System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection)
在 System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject)
在 System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
在 System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)
在 System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)
在 System.Data.OleDb.OleDbConnection.Open()
在 ExcelOperation.ImportFromExcel(String fileName, String strSql) 位置
操作方法
- 01
首先,需要确保IIS是否启用32位应用程序,因为OLEDB不支持64位。打开IIS:1、Win+R打开运行;2、输入"inetmgr"打开IIS;
- 02
点击IIS中的应用程序池,并选择某一程序池后,点击右边的“高级设置”:
- 03
在IIS高级设置对话框中找到“启用32位应用程序”选项并设置为true
- 04
测试,如果还出现“未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。”的错误,请看下面步骤。
- 05
查看机子有无安装OLEDB的驱动程序,如果没有可以到这里下载: 下载2007 Office system 驱动程序:数据连接组件安装。