0

MS Access 2000 数据库是否存在已知的故障模式,当数据被拒绝(或静默丢弃,更糟)插入包含默认值为 =Now() 的日期/时间类型字段的表中时?

有问题的日期/时间字段未编入索引或不需要;

但是当一个 INSERT 查询被发送到数据库时,看起来 =Now() 函数失败了 - 并且数据没有写入表(但是执行另一个自动增量字段查找,因为稍后 =Now( ) 成功,自动增量有一个差距,等于查询运行的次数)

例如,我在表格中看到

ID | Data | Timestamp
5  | foo  | 11/15/2016 17:15:00
1  | foo  | 11/15/2016 17:11:00

INSERT INTO TheTable ([Data]) VALUES (foo)每分钟运行一次并且问题发生在运行2、3和4时。最终在一段时间后,它成功(如ID = 5所示)

为什么我认为这可能是 =Now() 问题?

因为如果计算机时钟改变/向后/(例如在 DST 调整期间),就会发生相同/相似的故障。

但它最近突然发生了,在 DST 调整实际上已经发生的几个小时内无法将数据写入该表。

(程序本身没有被告知查询失败并像什么都没发生一样向前收费 - 一些调试工作仍在等待中)

我查看了 SO,想知道这个Table Field Default Property Values Functions Not Working Anymore in Microsoft Access 2010是否与它有关?但是程序和数据库通过 ODBC Microsoft Access (*.mdb) 驱动程序进行通信(是的 MS Office 2000 文件...)

希望这是有道理的,亲切的问候......

4

1 回答 1

1

从来没有听说过这样的问题,但为什么不调整你的 SQL:

INSERT INTO TheTable ([Data], [Timestamp]) VALUES (foo, Now())
于 2016-11-16T11:07:41.497 回答