【问题标题】:Converting Northwind 2007 to SQL2005 Database将 Northwind 2007 转换为 SQL2005 数据库
【发布时间】:2010-12-17 07:24:25
【问题描述】:

我最近下载了 Access 2007 Northwind 示例数据库,现在想将该数据库转换为 SQL 2005 数据库。我使用的是 SQL 2005 开发人员版,而不是 SQL Express。

我安装了 Office 12.0 Access 数据库引擎 OLE DB 提供程序驱动程序以使用 Access 2007。

到目前为止,我已经“创建”了一个新数据库,转到“任务”>“导入数据”。

此时,SQL Server 导入和导出向导对话框显示,我选择“数据源”作为 Microsoft Access,并浏览到我随后选择的文件。我单击下一步,现在 SQL Server 显示以下错误:

无法识别的数据库格式 Northwind2007.accdb。

有人成功地将这个数据库导入 SQL 吗?另外,有谁知道 .accdb 文件格式和 Access 2003 .mdb 格式的区别是什么?

感谢您的意见。

【问题讨论】:

  • 世界上为什么会有人想搞砸Northwind数据库?这是一堆废话,所有最糟糕的做法都记录在一个地方。
  • 可能是因为 Northwind 数据库已经建立,并且有成千上万的代码示例使用它。学习编程概念可以节省时间。

标签: sql-server ms-access northwind


【解决方案1】:

更简单的方法是 Microsoft SQL Server Migration Assistant for Access(SSMA for Access)。

【讨论】:

  • 我将 SQL Server Migration Assistant 2005 用于 Access V4.0,效果很好。感谢您的链接。
【解决方案2】:

问题在于“Microsoft Access”选项导入向导被硬编码为需要一个扩展名为 .mdb 的文件。 SQL Server 2008 也是同样的问题;打开 .accdb 类型的文件失败,“没有可用于...的编辑器”

一种解决方法是使用 OLE DB。在向导的数据源下拉列表中,选择“Microsoft Office 12.0 Access Database Engine OLE DB Provider”。您可能需要编辑连接属性以输入 Jet OLEDB:Engine Type=5 以便能够“查看”特定于 .accdb 格式的功能。但是,我不知道 SQL Server 将如何处理所谓的“复杂”(多值)数据类型!

【讨论】:

    【解决方案3】:

    Access 2007 和以前的 Access 数据库之间的主要区别之一与多集列有关,如 here 所述。与其从 SSMS 导入数据库,不如尝试通过 ms-access 升级向导导出它?网络上也有一些(不总是免费的?)升级工具。

    【讨论】:

      【解决方案4】:

      您不只是下载和安装Northwind database for SQL 2000 有什么原因吗?如前所述,它适用于 SQL 2005,但 Microsoft 建议改用 Adventure Works 数据库。

      【讨论】:

      • AW 涵盖了更多特定于 SQL 2005 的功能,而这些功能在 NW 中是缺失的。
      • Northwind2007 数据库与 2000 年的典型 Northwind 有很大不同。客户、员工、产品和供应商是一些已更改的主要表。
      • 我不知道他们已经对 Northwind 进行了重大更改,这仍然是如何不创建数据库的主要示例吗?
      猜你喜欢
      • 2011-03-18
      • 1970-01-01
      • 2012-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-10-13
      • 2022-11-12
      • 2015-01-07
      相关资源
      最近更新 更多