Sql 服务器 ODBC 日期字段 - 未实现可选功能

Sql Server ODBC Date Field - Optional feature not implemented

我有一个 SQL 服务器 table,其中包含日期类型的字段。我正在尝试使用 ODBC 通过 Micosoft Access 更新或插入记录到 table。我收到错误:

[ODBC SQL 服务器驱动程序]可选功能未实现

当我尝试更新或插入记录时。

我必须在 table 中使用 Date 字段而不是 DateTime 字段,因为我使用的是 2000 年前的非常古老的日期。

有什么办法可以解决这个我认为是由日期字段引起的问题吗?

这就是 table 的样子

CREATE TABLE [dbo].[Person](
[PersonId] [int] IDENTITY(1,1) NOT NULL,
[DOB] [date] NOT NULL,
[DOD] [date] NULL DEFAULT (NULL),
[Name] [nvarchar](100) NOT NULL)

最好的办法是停止使用 "legacy" sql 驱动程序,并使用较新的本机 10 或 11 驱动程序。较旧的驱动程序会将日期字段视为文本,但使用较新的本机 10/11 驱动程序会将列视为日期列。这将要求您 re-link 您的表格。

如果您无法更改 SQL 服务器版本,更简单的解决方案是将日期作为 adVarChar 传递,然后在 SQL 存储过程中执行 CAST(@param AS DATE) .

我今天遇到了同样的问题。 我使用 MsAccess 2010 进行开发,并在后端使用 MsSql2012。

我的电脑没有问题, 但是其他使用accde runtime版本的客户端都遇到过这个问题。

经过多次尝试; 将 DATE 类型替换为 SMALLDATETIME 时的问题已解决。请试试这个..? 事实上,我只需要日期部分,而不是时间,但没关系!

[出生日期] [日期] 不为空, [DOD] [日期] NULL DEFAULT (NULL),

希望对你也有帮助