【问题标题】:Migration of web application backend MS Access 2003 to MS Access 2010将 Web 应用程序后端 MS Access 2003 迁移到 MS Access 2010
【发布时间】:2013-04-24 04:35:45
【问题描述】:
我有一个驻留在 Windows server 2003 -32bit 上的 asp 应用程序,该应用程序的后端是 MS Access 2000。当我将其升级到 MS Access 2010 时,它会抛出错误:“无法识别的数据库格式”
我什至尝试在服务器上升级 Access 驱动程序,但没有运气。
我错过了什么?
【问题讨论】:
标签:
ms-access
windows-server-2003
ms-access-2010
database-migration
【解决方案1】:
确保您拥有ACE drivers installed。您说您更新了服务器上的 Access 驱动程序,但我不确定您是否实际安装了新的 .accdb 格式所需的驱动程序。
默认情况下,Windows 仅包含 Jet 驱动程序,允许您使用 .mdb 访问数据库而无需安装任何新内容。
另一方面,新的 2007/2010 访问格式'.accdb 需要单独安装驱动程序。
您还需要确保更新到数据库的连接字符串:
string constr = @"Provider=Microsoft.ACE.OLEDB.12.0;Mode=16;Data Source=C:\...\mydb.accdb;user id=;password=;";
【解决方案2】:
除了将数据库文件本身从 .mdb 升级到 .accdb 之外,您还需要在服务器上进行两项更改:
您需要下载并安装 Access 数据库引擎,可用 here。
您还需要更新 ASP 应用程序的连接详细信息。对于无 DSN 连接,您必须将连接字符串更新为here 描述的格式之一。例如,OLEDB 连接字符串必须更新为Provider=Microsoft.ACE.OLEDB.12.0;。