我创建了一个超过10年的Access数据库。
我有非常重要的数据&我认为它可以在Access 2007或更早版本中打开。目前我在我的桌面上安装了Access 2013并使用此版本打开文件导致错误"无法打开使用以前版本的应用程序创建的数据库"
这个问题的解决方案是什么?我可以在哪里下载早期版本的MS Access吗?
答案 0 :(得分:15)
我刚刚使用Excel 2016打开Access 2003表。
答案 1 :(得分:4)
如另一个答案中所述,Microsoft的官方消息是在Access 2003中打开Access 97文件并将其升级为更新的文件格式。不幸的是,从现在开始,很多人都难以获得Access 2003的合法副本(或Access 2013之前的任何其他版本,或者最新版本的任何版本)。
在这种情况下,可能的解决方法是
我刚尝试使用32位版本的SQL Server 2008 R2 Express Edition,它对我有用。 Access 2013坚决拒绝使用 任何 来处理Access 97文件,但SQL Server无需投诉地导入表格。
此时,您可以将表从SQL Server导入Access 2013数据库。或者,如果您的目标只是从Access 97文件中获取数据,那么您可以继续在SQL Server中使用它,或者将其移动到其他平台或其他任何平台。
* 重要:需要使用较旧的Jet ODBC驱动程序完成导入...
Microsoft Access Driver (*.mdb)
...随Windows一起提供,但仅适用于32位应用程序。 Access 2013版本的较新Access数据库引擎(" ACE")ODBC驱动程序...
Microsoft Access Driver (*.mdb, *.accdb)
也拒绝读取Access 97文件(问题中引用了相同的错误消息)。
答案 2 :(得分:2)
非编程答案:下载并安装较旧版本的Access数据库引擎(例如,2010年或2007年,而不是2013年)。打开Excel,导航到功能区上的“数据”选项卡,然后单击“从访问”。将数据导入Excel,然后导出到accdb文件或对其执行任何操作。注意!打开Access 2013将触发重新安装2013引擎,因此请保留2007/2010安装.exe。
编程答案:安装了旧版本的Access数据库引擎后,您可以在多个编程环境(C#,VBA,VBScript等)中使用OLEDB连接来读/写和移动Access数据。 Gord Thompson的回答还提出了跳转到SQL服务器并返回的选项。
See This post for a similar problem using an OLEDB connection
答案 3 :(得分:2)
您可以使用http://www.alexnolan.net/software/mdb_viewer_plus.htm中的MDB Viewer Plus查看或编辑旧版本数据库
答案 4 :(得分:1)
您可以执行所有这些操作,但基本问题将与Windows文件的Windows更新不兼容。最终你会再次遇到问题。 .ocx和.dll文件将被破坏和替换:您的数据库将无法应对新版本,它将无法构建或意外故障。
答案 5 :(得分:1)
如果您只是想从mdb中包含的表中提取数据,请使用Excel和ODBC(DATA选项卡...获取外部数据...来自其他来源...来自数据连接向导...其他/高级... Microsoft Jet XX OLE DB提供程序...选择你的数据库...选择你的表和瞧!数据导入。然后只需保存工作簿,然后可以链接或导入到更新版本的访问以构建新数据库。
答案 6 :(得分:1)
安装 Microsoft 2007 Access Runtime 。
来自https://www.microsoft.com/en-US/download/details.aspx?id=4438
答案 7 :(得分:1)
答案 8 :(得分:0)
对于'97数据库......
所有其他版本:
要将Access 2000或Access 2002 - 2003数据库(.mdb)转换为.accdb文件格式,必须先使用Access 2007,Access 2010或Access 2013打开数据库,然后将其保存在。 accdb文件格式。
单击您的Access 2000或Access 2002 - 2003数据库(.mdb) 想转换。
注意如果出现“数据库增强”对话框,则数据库使用的文件格式早于Access 2000.要继续,请参阅“将Access 97数据库转换为.accdb格式”一节。
单击“文件”,单击“另存为”,然后单击“将数据库另存为”。
选择“访问”文件类型,然后单击“另存为”。
如果在单击“另存为”时打开了任何数据库对象,则Access会在创建副本之前提示您关闭它们。单击是以使Access关闭对象,或单击否以取消整个过程。如果需要,Access还会提示您保存所有更改。
Access创建数据库的副本,然后打开副本。 Access会自动关闭原始数据库。
开始答案 9 :(得分:0)
不,它仅适用于Access 2013,仅适用于2007/2010。在Access 2013中无法将MDB真正转换为ACCDB。
答案 10 :(得分:0)
如果您只需要转储数据,可以使用这个聪明的脚本 http://youaccess.sourceforge.net。如果您在linux / wine下 你可以尝试my procedure
答案 11 :(得分:0)
最佳解决方案是在升级到较新版本的Access之前转换现有数据库。当即将安装升级时,微软肯定会警告用户这个问题。
答案 12 :(得分:0)
要将数据转换为MySQL数据库,您可以使用Bullzip Access to MySQL程序。它免费且易于使用。