2016-11-15 68 views
0

是否存在MS Access 2000数据库的一种已知故障模式,当数据被拒绝(或无提示丢弃,更糟糕)插入包含日期/时间字段类型且默认值为= Now()的表中时, ?Now()的MS Access 2000(* mdb)默认值有时会失败?

问题中的日期/时间字段未被索引或不需要;

但是,当INSERT查询发送到数据库时,它看起来像= Now()函数失败 - 并且数据不写入表中(但是执行另一个自动增量字段查找,因为当on = Now()成功,自动增量有一个缺口,等于查询运行的次数)

eg我看到在表

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个的文件...)

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

回答

1

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

INSERT INTO TheTable ([Data], [Timestamp]) VALUES (foo, Now()) 
+0

我要去。 – cidjen

+0

也可能创建一个测试/回退例程,验证该行是否已被插入,并尝试再次插入,如果无法检索到,但使用自己的方式检索当前日期/时间。这很难调试,因为它从来没有发生在测试台上......无论如何,谢谢! – cidjen