所有东西在本地都可以正常工作,但在我发布它时会出现以下错误:

 The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.

和堆栈跟踪

[InvalidOperationException: The 'Microsoft.ACE.OLEDB.12.0' provider is not registered on the local machine.]
System.Data.OleDb.OleDbServicesWrapper.GetDataSource(OleDbConnectionString constr, DataSourceWrapper& datasrcWrapper) +1027372
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +337
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +31
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +76
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +126
System.Data.OleDb.OleDbConnection.Open() +43
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +123
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +319
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1618
System.Web.UI.WebControls.ListControl.OnDataBinding(EventArgs e) +97
System.Web.UI.WebControls.ListControl.PerformSelect() +34
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +74
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +66
System.Web.UI.WebControls.ListControl.OnPreRender(EventArgs e) +29
System.Web.UI.Control.PreRenderRecursiveInternal() +103
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Control.PreRenderRecursiveInternal() +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +2496

我正在使用MS access 2007数据库,这是我在web中的连接字符串.配置

        <add name="ConnectionString" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source=|DataDirectory|\OmanLegalDB.accdb;Persist Security Info=True" providerName="System.Data.OleDb"/>

对这个问题有什么建议吗

推荐答案

对于12.0版,您需要从here开始安装MDAC 2010.

这必须在发布应用程序的服务器上完成. 如果目标计算机是32位,则需要安装x86版本;如果目标计算机是64位,并且您的应用程序是使用配置Any CPU构建的,则需要安装x64版本.

Asp.net相关问答推荐

DataTables-如何修改来自JSON响应或其他DataTables参数的无结果(ZeroRecords)消息

授权错误错误 400:C# 上的 redirect_uri_mismatch

逐步 ASP.NET 自动构建/部署

在每页级别增加 ASP.Net 超时

Azure Service Fabric 是否与 Docker 做同样的事情?

使用 JavaScript 更改 ASP.NET 标签的可见性

每月的每一天

来自 IP 地址的经度和纬度值

部署后网站需要强制刷新

如何使用自动生成的列隐藏 ASP.NET GridView 中的列?

在不知道键名的情况下访问 JSON 对象的元素

更改后未应用 CSS

如何将图像 url 转换为 system.drawing.image

*.csproj 中的 usevshostingprocess 是什么?

由 UpdatePanel 内 GridView 内的 LinkBut​​ton 触发的完整回发

使用 Twitter Bootstrap 在 @html.actionlink 中显示 html

如何遍历自定义 vb.net 对象的每个属性?

System.Threading.Tasks - 限制并发任务的数量

如何将代码中的变量调用到aspx页面

如何使用实体框架执行原始 SQL 查询而无需使用模型?