是否存在MS Access 2000数据库的已知故障模式,当数据被拒绝(或者被静默丢弃,这更糟)时,要插入到包含日期/时间类型字段的表中,默认值为= Now( )?
有问题的日期/时间字段未编入索引或不需要;
但是当一个INSERT查询被发送到数据库时,它看起来像= Now()函数失败 - 并且数据没有写入表中(但是执行另一个自动增量字段查找,因为,当稍后= Now()成功,自动增量有一个间隙,等于查询运行的次数)
e.g。我在表格中看到了
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调整已经发生时,几个小时内无法将数据写入该表。
(程序本身没有被告知查询失败并向前收费,好像什么也没发生 - 一些调试工作仍在等待)
我看了很多,并想知道这个Table Field Default Property Values Functions Not Working Anymore in Microsoft Access 2010是否与它有关?但是程序和数据库通过ODBC Microsoft Access(* .mdb)驱动程序进行通信(是的MS Office 2000文件...)
希望这是有道理的, 亲切的问候......
答案 0 :(得分:1)
从未听说过这样的问题,但为什么不调整你的SQL:
INSERT INTO TheTable ([Data], [Timestamp]) VALUES (foo, Now())