asp.net 不可识别的数据库格式,accdb
本帖最后由 yousuf 于 2011-08-30 01:59:43 编辑 环境 vs2010,access2010
语言 vb
开发 asp.net应用
读取数据库,使用gridview 浏览和修改 access 文件的内容
我用access2010建立了一个文件Database2.accdb
全部利用向导建立数据源和显示数据
直接使用vs2010 自带的asp.net development server进行调试
调试时候出现如下错误
但是,如果我将数据库文件access文件改成,access2003兼容的文件,也就是扩展名为 mdb的文件不会有问题,可以通过
而且开发windows桌面程序的时候可以显示access2010文件的数据。
“/”应用程序中的服务器错误。
--------------------------------------------
不可识别的数据库格式 'D:\aspnet\gg\App_Data\Database2.accdb'。
说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。
异常详细信息: System.Data.OleDb.OleDbException: 不可识别的数据库格式 'D:\aspnet\gg\App_Data\Database2.accdb'。
源错误:
执行当前 Web 请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪信息确定有关异常原因和发生位置的信息。
堆栈跟踪:
[OleDbException (0x80004005): 不可识别的数据库格式 'D:\aspnet\gg\App_Data\Database2.accdb'。]
System.Data.OleDb.OleDbConnectionInternal..ctor(OleDbConnectionString constr, OleDbConnection connection) +959149
System.Data.OleDb.OleDbConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningObject) +86
System.Data.ProviderBase.DbConnectionFactory.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup) +29
System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) +4870764
System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) +117
System.Data.OleDb.OleDbConnection.Open() +40
System.Data.Common.DbDataAdapter.QuietOpen(IDbConnection connection, ConnectionState& originalState) +31
System.Data.Common.DbDataAdapter.FillInternal(DataSet dataset, DataTable[] datatables, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +112
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, Int32 startRecord, Int32 maxRecords, String srcTable, IDbCommand command, CommandBehavior behavior) +287
System.Data.Common.DbDataAdapter.Fill(DataSet dataSet, String srcTable) +92
System.Web.UI.WebControls.SqlDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +1297
System.Web.UI.WebControls.AccessDataSourceView.ExecuteSelect(DataSourceSelectArguments arguments) +58
System.Web.UI.DataSourceView.Select(DataSourceSelectArguments arguments, DataSourceViewSelectCallback callback) +19
System.Web.UI.WebControls.DataBoundControl.PerformSelect() +142
System.Web.UI.WebControls.BaseDataBoundControl.DataBind() +73
System.Web.UI.WebControls.GridView.DataBind() +4
System.Web.UI.WebControls.BaseDataBoundControl.EnsureDataBound() +82
System.Web.UI.WebControls.CompositeDataBoundControl.CreateChildControls() +72
System.Web.UI.Control.EnsureChildControls() +87
System.Web.UI.Control.PreRenderRecursiveInternal() +44
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Control.PreRenderRecursiveInternal() +171
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +842
--------------------------------------------
版本信息: Microsoft .NET Framework 版本:2.0.50727.5446; ASP.NET 版本:2.0.50727.5420
[解决办法]
沙发。
[解决办法]
http://topic.csdn.net/u/20101030/15/dea95fea-a565-4110-b356-60fa716c252b.html
[解决办法]
Microsoft Access Database Engine 2010 Redistributable
[解决办法]
mark
[解决办法]
Provider=Microsoft.ACE.OLEDB.12.0;Data Source=C:\myFolder\xxxx.accdb;Persist Security Info=False;
[解决办法]
Access版本太高了,VS版本太低了...用Access 2010另存为...降级...
事实上Access的附加功能新功能Jet都用不到,完全没必要用高版本...