Sql Server日期类型在MS Access中显示为文本字段

问题描述 投票:10回答:2

我有一个MS Access 2010前端/ SQL Server 2012后端数据库,在不同的表中有许多日期字段。有时我需要存储时间,所以我使用了datetime或smalldatetime数据类型。但是某些字段只需要存储日期,所以我使用数据类型Date。

我的问题是在MS Access中,我的ODBC链接表将Date数据类型字段显示为Text。这导致一些日期以yyyy-dd-mm格式存储而其他日期以yyyy-mm-dd格式存储的问题。

这是一个错误吗?我需要使用smalldatetime吗?

谢谢你的帮助,吉姆

sql-server date ms-access
2个回答
9
投票

我自己链接Access 2007和SQL Server 2008有同样的问题。

请参阅this question,如果你看一下Albert D. Kallal对第一个答案的评论,它告诉我们问题是一个过时的驱动程序将前端连接到后端。

如果您无法选择最新的驱动程序(请记住,即使可以,不同客户端计算机上的数据库的其他用户可能无法),解决方法是使用日期时间数据类型每个案例。


3
投票

只是为了阐述@BiigJiim给出的评论我实际上已经安装了Native客户端11.0驱动程序,但是当我创建DSN-Less表连接时,我不得不正式将连接字符串更改为:Driver={SQL Server Native Client 11.0};

另外作为补充说明,我不认为推荐使用Date和DateTime2数据类型进行Microsoft Access集成。如果内存正确地为我服务,它建议使用DateTime和SmallDateTime。在很多情况下我不需要时间,但你可以通过前端轻松地格式化它...尤其是在Access中。

© www.soinside.com 2019 - 2024. All rights reserved.