从Ms Access导入数据到Ms Ms Server时,Ms Access的数据库架构是否需要与SQL Server中的新架构相同? 最后,将Ms Access中的数据导入Ms SQL Server的最简单方法是什么?
答案 0 :(得分:0)
MS Access中有一些数据类型没有直接转换为SQL服务器,并且SQL Server中也有一些数据类型在MS Access中不存在 - 而大多数字段将正确“升级”,有些可能不会。例如,SQL Server没有“是/否”数据类型。最接近的是比特 - 但我建议使用tinyint,因为访问会崩溃并且如果你尝试查看空位字段会有问题,但它很容易识别出null 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中的数据,则可以使用追加新记录,更新旧记录,或者只删除表中的所有数据,然后重新附加。
希望能回答你问题的两个部分。