用于 Access 的 SQL Server 迁移助手:日期数据类型

Posted

技术标签:

【中文标题】用于 Access 的 SQL Server 迁移助手:日期数据类型【英文标题】:SQL Server Migration Assistant for Access: Date data type 【发布时间】:2015-08-12 10:53:24 【问题描述】:

我一直在使用 SQL Server Migration Assistant for Access 将 Access 数据库迁移到 SQL Server。但是,我需要将访问中的数据类型“日期”转换为 SQL Server 中的 Date 类型。在查看 SSMA 中的数据类型映射选项时,我只有 datetime、datetime2、datetime2(precision) 和 smalldatetime 选项。如何将“日期”映射到 SQL Sever 中的目标类型日期?这完全支持吗?我真的不希望为某些列(例如“离开日期”等列)存储时间(小时和秒)。

非常感谢。

【问题讨论】:

blogs.msdn.com/b/ssma/archive/2011/03/06/… 我找到了这个。也许这个 etl 不支持 SQL 的 Date 数据类型。但是,如果您可以访问数据库,您可以稍后再编写查询将日期时间转换为日期。 所以您的意思是编写一个自定义查询来将列转换为日期? 是的,在 ETL 加载数据后,在 SQL Server 中,您可以使您的表结构具有额外的计算列,该列是“日期”类型并从您的日期时间列中获取值。这肯定会工作但不知道这是否是最好的方法,因为我以前没有这样做过 【参考方案1】:

您所说的 Access 的“日期”数据类型实际上是日期/时间,并且与 SQL Server 日期时间兼容,因此请使用它。如果您的数据始终在 smalldatetime 的有效日期范围内,您也可以使用 smalldatetime。如果要转换 Access BE 并保留 Access FE,请注意不要使用 Access 无法识别的任何 SQL Server 数据类型。例如。 datetime2,日期(SQL Server 2012 确实有)。

【讨论】:

是的,使用日期时间。 DateTime2 将由 ODBC 驱动程序转换为文本。

以上是关于用于 Access 的 SQL Server 迁移助手:日期数据类型的主要内容,如果未能解决你的问题,请参考以下文章

如何使用 SSMA(用于访问 SQL Server)将具有不同列的表迁移到现有表中?

从 Access 迁移到 SQL Server 数据库

从 Microsoft Access 2007 迁移到 Sql Server 2005

从 SQL Server 2008 迁移到 MS access 2007

使用前端 ASP.net 从 Access db 迁移到 SQL Server 2008

迁移到新的 SQL Server 后,在 MS Access 中更新链接表的最佳方法是啥?