1

将 Ms Access 中的数据导入 Ms SQL Server 时,Ms Access 中的数据库架构是否需要与 SQL Server 中的新数据库架构相同?最后,将数据从 Ms Access 导入 Ms SQL Server 的最简单方法是什么?

4

1 回答 1

0

MS Access 中有一些数据类型不直接转换为 SQL Server,SQL Server 中也有一些数据类型在 MS Access 中不存在 - 虽然大多数字段会正确“升级”,但有些可能不会。例如,SQL Server 没有“是/否”数据类型。最接近的是 Bit - 但我建议改用 tinyint,因为如果您尝试查看空位字段,访问会崩溃并出现问题,但它很容易识别空 tinyint。此外,在升级时,请记住 Access 中的 True = -1,但 -1 不适用于 tinyint,因此如果要将其保持在 -1,则可能必须使用 int,否则将不得不更新时将值从 -1 更改为 1(在 SQL 中为 true)。

此外,SQL Server 具有新的数据类型,例如 Access 中不存在的较大日期时间 - 因此您的大多数日期/时间值将转换为 smalldatetime(精确到分钟)或 datetime(精确到百分之一秒),具体取决于你需要什么。

在某些情况下使用“升迁向导”可能会起作用,但我多次发现由于“备忘录”类型(或 2013 年及更新版本中的“大文本”)损坏,该向导无法正确完成。

希望这能回答您问题的第一部分。

至于将数据从 MS Access 导入 SQL 服务器,我发现在 MS Access 中创建链接表并编写附加查询似乎可以很好地解决问题,如果您没有同时使用这两个系统。如果在将数据复制到 SQL Server 后继续在 Access 中更改数据,则可以对新记录使用追加,对旧记录进行更新,或者只是删除表中的所有数据,然后重新追加。

希望这能回答您问题的两个部分。

于 2017-12-30T21:41:32.527 回答