我最近下载了Access 2007 Northwind示例数据库,现在想将数据库转换为SQL 2005数据库。我使用的是SQL 2005的Developer Edition而不是SQL Express。
我安装了Office 12.0 Access数据库引擎OLE DB提供程序驱动程序,以便与Access 2007一起使用。
到目前为止,我已经'创建'了一个新的数据库,转到'任务'> '导入数据'。
此时,SQL Server导入和导出向导对话框显示,我选择'数据源'作为Microsoft Access并浏览到我随后选择的文件。我单击下一步,现在SQL Server显示以下错误:
无法识别的数据库格式Northwind2007.accdb。
有没有人成功将此数据库导入SQL?另外,有谁知道.accdb文件格式和Access 2003 .mdb格式的不同之处是什么?
感谢您的意见。
答案 0 :(得分:2)
问题是'Microsoft Access'选项导入向导是硬编码的,以期望扩展名为.mdb的文件。这与SQL Server 2008的问题相同;打开.accdb类型的文件失败,“没有编辑器可用于...”
一种解决方法是使用OLE DB。在向导的数据源下拉列表中,选择“Microsoft Office 12.0 Access数据库引擎OLE DB提供程序”。您可能需要编辑连接属性以输入Jet OLEDB:Engine Type = 5,以便能够“查看”特定于.accdb格式的功能。但是,SQL Server将对我所不知道的所谓“复杂”(多值)数据类型做出相当的反应!
答案 1 :(得分:2)
更简单的方法是Microsoft SQL Server Migration Assistant for Access(SSMA for Access)。
答案 2 :(得分:1)
您是否有理由不只是下载并安装Northwind database for SQL 2000?如上所述,它适用于SQL 2005,但Microsoft建议使用Adventure Works数据库。
答案 3 :(得分:0)
Access 2007与之前的Access数据库之间的主要区别之一与multiset列相关,如here所述。而不是从SSMS导入数据库,为什么不尝试通过ms-access升级向导导出它?网上还有一些(不总是免费的)升级工具。