在TestStand里使用微软ACE-OLEDB数据库提供者时,为什么Access数据库的月份和日期对调了位置?



主要软件: TestStand
主要软件版本: 2012
主要软件修正版本: N/A
次要软件: N/A

问题: 我在TestStand里使用微软ACE-OLEDB数据库提供者来在微软Access数据库里记录测试数据。然而,数据列里的月份和日期对调了。例如,运行于2014年1月12日的测试结果在数据库里被记录为2014年12月1日。

解答:

这个问题在如下所示的情况会发生:

你使用微软ACE-OLEDB数据库提供者的插入命令在Access数据库里记录数据。
你电脑里的区域和语言设置里的日期格式为日期在月份之前。例如,设置为英国或者法国。
具体的日期里的天在一个月份的第一天至第十二天之间。

当这些条件同时满足的时候,日期会被错误的记录下来。日期和月份会对调。

如果你使用的是32位的TestStand并记录到32位的Access数据库里,推荐的解决方法是使用微软Jet数据库提供者。在32位系统上,微软希望外部的应用使用Jet提供者来与Access数据库通信。ACE-OLEDB提供者通常被微软的Office应用所使用。因此,32位的系统中,更加推荐使用微软Jet提供者,会让数据正确地被记录。

如果你使用的是64位的TestStand,请参考链接:KnowledgeBase 6LBCUH00: Using Access Database with TestStand 64-bit.



相关链接: KnowledgeBase 3E3DR9G0: Parameterized Insert using Jet Provider (Access) Swaps Month and Day When Logging in "European" Locale
KnowledgeBase 6LBCUH00: Using Access Database with TestStand 64-bit


附件:





报告日期: 10/21/2014
最近更新: 11/04/2014
文档编号: 6QKA2GDT