我有一个奇怪的问题,我无法复制和解决。
我在 Python 中使用 pyodbc 库来访问 MS Access 2007 数据库。该脚本基本上只是将 csv 文件导入 Access 以及其他一些技巧。
我正在尝试首先保存一个“礼物标题”-然后获取保存它的自动递增 id (GiftRef)-并使用此值保存 1 个或多个关联的“礼物详细信息”。
90% 的时间里,一切都按原样工作。另外 10% 的时间 Access 似乎卡住并反复为 cur.execute("select last(GiftRef) from tblGiftHeader") 返回相同的值。
一旦它被卡住,它就会在脚本的持续时间内返回这个值。它不会在处理特定条目或执行中的任何特定时间发生 - 它似乎完全随机发生。
我也知道它返回了错误的值——换句话说,礼品标头被保存了——并且被赋予了新的、唯一的 ID——但无论出于何种原因,该值在调用时都没有正确返回。
SQL = "insert into tblGiftHeader (PersonID, GiftDate, Initials, Total) VALUES "+ str(header_vals) + ""
cur.execute(SQL)
gift_ref = [s[0] for s in cur.execute("select last(GiftRef) from tblGiftHeader")][0]
cur.commit()
任何想法或见解将不胜感激。